Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Modifying dust aerosol inventory over a certain region though code modification in CESM2-CLM5

Hi Everyone,
I am trying to add a new inventory for dust aerosols over a certain region in CESM2-CLM5.
My objective is to modify dust aerosols over a particular region and add my inventory.
So far I have looked into this code in CLM5 which controls the dust emission:
~/cesm1_2_2/models/lnd/clm/src/clm4_0/biogeochem/DUSTMod.F90. Two variables controlling the dust emission into the atmosphere are flx_mss_vrt_dst and flx_mss_vrt_dst_tot. These varibales are a function of pft bounds rather than lat-lon. Therefore I don't understand how to add my inventory(which is a function of lat and lon).

Can anyone suggest something? Thanks in advance.

Best regards
-Ashutosh
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Maybe you could modify the gridcell-average dust emission that is sent to the atm from the lnd in lnd2atmMod.F90 after the patch-level dust emission has been averaged up to the gridcell:

! dust emission flux
call p2g(bounds, ndst, &
dust_inst%flx_mss_vrt_dst_patch(bounds%begp:bounds%endp, :), &
lnd2atm_inst%flxdst_grc (bounds%begg:bounds%endg, :), &
p2c_scale_type='unity', c2l_scale_type= 'unity', l2g_scale_type='unity')

There are latitude/longitude variables in the code that you could use to identify which gridcells to modify (e.g., grc%latdeg, grc%londeg).
Note that there are four dust size bins for flxdst_grc.
 
Maybe you could modify the gridcell-average dust emission that is sent to the atm from the lnd in lnd2atmMod.F90 after the patch-level dust emission has been averaged up to the gridcell:

! dust emission flux
call p2g(bounds, ndst, &
dust_inst%flx_mss_vrt_dst_patch(bounds%begp:bounds%endp, :), &
lnd2atm_inst%flxdst_grc (bounds%begg:bounds%endg, :), &
p2c_scale_type='unity', c2l_scale_type= 'unity', l2g_scale_type='unity')

There are latitude/longitude variables in the code that you could use to identify which gridcells to modify (e.g., grc%latdeg, grc%londeg).
Note that there are four dust size bins for flxdst_grc.
Thank you so much for your reply Dr. Oleson. I wasn't able to try this due to the pandemic. I am trying this now. Will update you on how it goes.
 

ohmpawat

ohmpawat chen
Member
Maybe you could modify the gridcell-average dust emission that is sent to the atm from the lnd in lnd2atmMod.F90 after the patch-level dust emission has been averaged up to the gridcell:

! dust emission flux
call p2g(bounds, ndst, &
dust_inst%flx_mss_vrt_dst_patch(bounds%begp:bounds%endp, :), &
lnd2atm_inst%flxdst_grc (bounds%begg:bounds%endg, :), &
p2c_scale_type='unity', c2l_scale_type= 'unity', l2g_scale_type='unity')

There are latitude/longitude variables in the code that you could use to identify which gridcells to modify (e.g., grc%latdeg, grc%londeg).
Note that there are four dust size bins for flxdst_grc.
Hello, if I want to add my aerosol emission inventory, what should I do? Can the model change the aerosol emission inventory into my own inventory? Thanks for your help!
 
Top