Comments (13)
Hi - could the initial conditions bring in too much sea salt, which results in high initial removal flux, until its in equlibrium? How is the balance in month 2 and 3?
from cam.
It is a cold start so it start with zero aerosols.
I can start a run for a longer period this afternoon, but I doubt that it will make a difference.
Øyvind
from cam.
Well if both start with zero aerosols, that is of course comparable.
from cam.
I think I found the problem with the added mass.
I have not nailed down the problem 100% but the reason is likely that the the tendency from emissions are added together both in oslo_aero_depos_dry and clubb_emissions_cam.
Why is it in oslo_aero_depos_dry?
The reason was that pre-clubb and to some extent also in CAM6 the vertical diffusion dry deposition and emissions was treated independently. For sea-salt and mineral dust this sometimes resulted in a saw-tooth function of the concentration near the surface since the dry deposition of mineral dust may be a large fraction of the emssions.
In NorESM this was treated by merging the dry deposition and emissions fluxes into one combined tendency.
In CAM7 the even thinner surface layer was likely making this problem even more visible, but here the emissions are now integrated into CLUBB. It seems that the tendency is not set to zero after the NorESM emissions tendency and then the tendency was added over again in CLUBB. Given that the tendency in CAM7 is now merged into CLUBB the oslo-aero merge may not longer be needed.
After setting the sea-salt tendency in oslo_aero_depos_dry to zero for coarse mode sea-salt the budget is in balance.
The tendency for dry deposition must still be included in oslo_aero_depos_dry.
from cam.
@oyvindseland - this is fantastic news! Thanks so much for tracking this down. Once you verify this as 100% - we should integrate this back into the development branch and also create a new noresm2_5_alpha02 tag with updated components that we can use for a new coupled simulation.
from cam.
That sounds like a very good path ! thanks @oyvindseland . Was this an issue also in CAM6, NorESM2.x??
from cam.
Can the fix for this could be to just remove the following in oslo_aero_depos.F90
? (I've removed a lot of comments from the code below).
!-------------------------------------------------------------------------
! FIX- START
! CAN all of this be removed???
!Solve implicitly for eqn for emission and dry dep in lowest layer
deltaH(:ncol) = pdel(:ncol,pver)/rho(:ncol,pver)/gravit ![m] height of layer
lossRate(:ncol) = vlc_dry(:ncol,pver,jvlc)/deltaH(:ncol) ![1/s] loss rate out of layer
!special treatment of BC_AX because BC_AX is not treated with
!boundary mixing in activation (is by definition not activated!)
if(mm .eq. l_bc_ax) then
totalProd(:ncol) = interfaceTendToLowestLayer(:ncol)
else
totalProd(:ncol) = cflx(:ncol,mm)*gravit/pdel(:ncol,pver) + interfaceTendToLowestLayer(:ncol)
end if
where(lossRate(:ncol)*dt .gt. 1.e-2_r8)
MMRNew(:ncol) = q(:ncol,pver,mm)*exp(-lossRate(:ncol)*dt) &
+ totalProd(:ncol)/lossRate(:ncol)*(1.0_r8 - exp(-lossRate(:ncol)*dt))
elsewhere
MMRNew(:ncol) = q(:ncol,pver,mm) &
+ totalProd(:ncol)*dt - q(:ncol,pver,mm)*lossRate(:ncol)*dt
end where
!Overwrite tendency in lowest layer to include emissions
ptend%q(:ncol,pver,mm) = (MMRNew(:ncol)-q(:ncol,pver,mm))/dt
!They are then not included in vertical diffusion!!
massLostDD(:ncol) = q(:ncol,pver,mm) - MMRNew(:ncol) + totalProd(:ncol)*dt
sflx(:ncol) = massLostDD(:ncol)*pdel(:ncol,pver) / gravit / dt
! FIX END
!-------------------------------------------------------------------------
from cam.
Yes that part should be removed but it is possible MMRnew is still needed but only with the loss term included.
Or better: The loss term should be included in the same manner as the mam4 dry deposition.
from cam.
@oyvindseland - can you please clarify what you mean by "MMRnew is still needed but only with the loss term included".
Its not clear to me how the loss term is included in the mam4 dry deposition.
Below are some very brief summary notes. Where is the loss term in mam4 computed?
--------------------
mam4 noresm2.5
--------------------
aero_model_drydep in chemistry/modal_aero/aero_model.F90
calls dust_sediment_tend (in chemistry/aerosol/dust_sediment_mod.F90)
! calculate the tendencies and sfc fluxes
if ((lphase == 1) .and. (lspec <= nspec_amode(m))) then
call dust_sediment_tend( ncol, dt, state%pint(:,:), state%pmid, state%pdel, state%t , &
state%q(:,:,mm), pvmzaer, ptend%q(:,:,mm), sflx )
else if ((lphase == 1) .and. (lspec == nspec_amode(m)+1)) then ! aerosol water
call dust_sediment_tend(ncol, dt, state%pint(:,:), state%pmid, state%pdel, state%t , &
qaerwat(:,:,mm), pvmzaer, dqdt_tmp(:,:), sflx )
else ! lphase == 2
call dust_sediment_tend(ncol, dt, state%pint(:,:), state%pmid, state%pdel, state%t , &
fldcw(:,:), pvmzaer, dqdt_tmp(:,:), sflx )
dust_sediment_mod.F90: dust_sediment_tend()
subroutine dust_sediment_tend (ncol, dtime, pint, pmid, pdel, t, &
dustmr ,pvdust, dusttend, sfdust )
--------------------
oslo_aero noresm2.5
--------------------
aero_model.F90:aero_model_drydep() calls oslo_aero_depos.F90:oslo_aero_depos_dry()
oslo_aero_depos.F90:oslo_aero_depos_dry()
if ((lphase == 1) .and. (lspec <= nspec_amode(m))) then
call oslo_aero_dust_sediment_tend(ncol, dt, pint(:,:), pmid, pdel, t , &
q(:,:,mm), pvmzaer, ptend%q(:,:,mm), sflx, dusttend_to_ll_out=interfaceTendToLowestLayer)
else ! lphase == 2
call oslo_aero_dust_sediment_tend(ncol, dt, pint(:,:), pmid, pdel, t, &
fldcw(:,:), pvmzaer, dqdt_tmp(:,:), sflx)
endif
from cam.
As long as subroutine dust_sediment_tend (ncol, dtime, pint, pmid, pdel, t, &
dustmr ,pvdust, dusttend, sfdust )
dusttend is intent(out ) (or in/out)
from cam.
I checked dust_sediment_tend
and
real(r8), intent(out) :: dusttend(pcols,pver) ! dust tend
so, yes just deleting the lines you wrote above should work.
Øyvind
from cam.
I ran the simulation for 1 month. The model should be run for longer to make any final conclusions about the changes, but the problem of mass balance has disappeared. New numbers below. I also checked the mass balance for coarse mode mineral dust.
The sea-salt emissions has gone up quite substantially ~ close to 50% . Some of it is due to higher resolution (10-20%)
The overall increase in column burden can be explained by a combination of increased emissions and reduced dry deposition (NorESM2 has too high dry deposition due to a bug)
Mineral dust increase a lot ~Factor of 7-8. Most of this can be explained by higher emissions (Factor of 3) and error in dry deposition (1.5), so it is likely a feature of the model not due to any bug.
One minor issue. The DMS flux is not written out together with the other fluxes. The DMS concentration is comparable to NorESM2 so I guess it is just a matter of finding the flux somewhere.
SFSS_A3 = 2.475805e-10 ;
SS_A3DDF = 6.012387e-11
SS_A3_OCWDDF = 6.382038e-12 ;
SS_A3SFWET = -6.336213e-11 ;
SS_A3_OCWSFWET = -1.124183e-10 ; ;
Balance: SFSS_A3 - (SS_A3DDF+SS_A3_OCWDDF) + (SS_A3SFWET+SS_A3_OCWSFWET)
Balance: 5.3e-12
cb_SS_A3 = 1.949281e-05 ;
cb_SS_A3_OCW = 1.49497e-06
from cam.
Closing issue
from cam.
Related Issues (20)
- Update externals for svn workaround HOT 1
- Add new 10m wind fields to be sent from cam to mediator and then to ww3dev HOT 1
- Update of noresm physics for oslo-aero use cases for 1850, 2000 and hist HOT 1
- Add compsets for TropMAM4
- Create SpAero compset HOT 1
- Addition of new sum diagnostics for aerosols HOT 1
- Making the old CAM diagnostics package work with NorESM2.5 HOT 19
- Lots of compsets can not be run with the alias HOT 2
- P0 always needs to be on history file HOT 3
- Increase convective scavenging for accumulation and coarse mode sea-salt and potentially sulphate from aqueous phase chemistry HOT 2
- Add parameteriation of secondary ice HOT 2
- Alternative formulation of cloud droplet activation
- Change yield of production of secondary organic aerosols from isoprene
- Check the if the cloud water / cloud ice tuning used in KeyClim simulations is included from in the NorESM2.3 development version
- Add namelist options for the cloud water / cloud ice tuning included from the KeyClim simulations HOT 2
- Add alternative formulation of scavenging in convective clouds. HOT 1
- Removal of tracer variable so4_ac
- NorESM2.3 : Tag/branch for OSLO_AERO in Externals_CAM.cfg HOT 7
- cam_chempp issue with usr_mech_infile when path to compiler is too long HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cam.