Skip to content

Commit

Permalink
Merge branch 'master' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
smileMchen committed Jan 11, 2022
2 parents e018624 + f10d917 commit c40e138
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 22 deletions.
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
WRF Model Version 4.3.2
WRF Model Version 4.3.3

https://www2.mmm.ucar.edu/wrf/users/

Expand Down
7 changes: 5 additions & 2 deletions Registry/registry.chem
Original file line number Diff line number Diff line change
Expand Up @@ -1314,9 +1314,9 @@ state real asmpsoa_a03 ikj misc 1 - -
state real asmpsoa_a04 ikj misc 1 - - "asmpsoa_a04" "asmpsoa_a04" "ug m^-3"

# photolysis rates
state real ph_o31d ikj misc 1 - r "PHOTR2" "O31D Photolysis Rate" "min{-1}"
state real ph_o31d ikj misc 1 - rh "PHOTR2" "O31D Photolysis Rate" "min{-1}"
state real ph_o33p ikj misc 1 - r "PHOTR3" "O33P Photolysis Rate" "min{-1}"
state real ph_no2 ikj misc 1 - r "PHOTR4" "NO2 Photolysis Rate" "min{-1}"
state real ph_no2 ikj misc 1 - rh "PHOTR4" "NO2 Photolysis Rate" "min{-1}"
state real ph_no3o2 ikj misc 1 - r "PHOTR5" "NO3O2 Photolysis Rate" "min{-1}"
state real ph_no3o ikj misc 1 - r "PHOTR6" "NO3O Photolysis Rate" "min{-1}"
state real ph_hno2 ikj misc 1 - r "PHOTR7" "HNO2 Photolysis Rate" "min{-1}"
Expand Down Expand Up @@ -3901,6 +3901,9 @@ rconfig integer mosaic_aerchem_optaa namelist,chem 1
# control for AF wavelength
rconfig real af_lambda_start namelist,chem max_domains 200. rh "start wavelength for AF output" "nm" ""
rconfig real af_lambda_end namelist,chem max_domains 340. rh "end wavelength for AF output" "nm" ""
# Control for ISORROPIA in MADE/SORGAM schemes
rconfig logical do_isorropia namelist,chem 1 .false. rh "flag to use ISORROPIA"


# CHEMISTRY PACKAGE DEFINITIONS
#
Expand Down
1 change: 1 addition & 0 deletions chem/aerosol_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,7 @@ SUBROUTINE aerosols_driver (id,curr_secs,ktau,dtstep,ktauc, &
h2oaj,h2oai,nu3,ac3,cor3,asulf,ahno3,anh3, &
vcsulf_old,vdrog3_vbs, &
config_flags%kemit,brch_ratio, &
config_flags%do_isorropia, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte )
Expand Down
12 changes: 6 additions & 6 deletions chem/dry_dep_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -682,26 +682,26 @@ subroutine dry_dep_driver(id,curr_secs,ktau,dtstep,config_flags, &
!!$! if e_co > 0., the grid cell should not be over water
!!$! if e_co > 200, the grid cell should be over a large urban region
!!$!
! Do NOT increase mixing at surface/kts, where exch==0
! this code is wrong - doesn't work if e_co is == param_first_scalar
! (like it happened to be the case for MOZCART)
! if (p_e_co > param_first_scalar )then
if (p_e_co >= param_first_scalar )then
if (sf_urban_physics .eq. 0 ) then
if (emis_ant(i,kts,j,p_e_co) .gt. 0) then
ekmfull(kts:kts+10) = max(ekmfull(kts:kts+10),1.)
ekmfull(kts+1:kts+10) = max(ekmfull(kts+1:kts+10),1.)
endif
if (emis_ant(i,kts,j,p_e_co) .gt. 200) then
ekmfull(kts:kte/2) = max(ekmfull(kts:kte/2),2.)
ekmfull(kts+1:kte/2) = max(ekmfull(kts+1:kte/2),2.)
endif
if (p_e_pm25i > param_first_scalar )then
if (emis_ant(i,kts,j,p_e_pm25i)+ emis_ant(i,kts,j,p_e_pm25j) .GT. 8.19e-4*200) then
ekmfull(kts:kte/2) = max(ekmfull(kts:kte/2),2.)
ekmfull(kts+1:kte/2) = max(ekmfull(kts+1:kte/2),2.)
endif
endif
if (p_e_pm_25 > param_first_scalar )then
if (emis_ant(i,kts,j,p_e_pm_25) .GT. 8.19e-4*200) then
ekmfull(kts:kte/2) = max(ekmfull(kts:kte/2),2.)
ekmfull(kts+1:kte/2) = max(ekmfull(kts+1:kte/2),2.)
endif
endif
endif
Expand All @@ -711,7 +711,7 @@ subroutine dry_dep_driver(id,curr_secs,ktau,dtstep,config_flags, &
! if (p_ebu_in_co > param_first_scalar )then
if (p_ebu_in_co >= param_first_scalar )then
if (ebu_in(i,1,j,p_ebu_in_co) .gt. 0) then
ekmfull(kts:kte/2) = max(ekmfull(kts:kte/2),2.)
ekmfull(kts+1:kte/2) = max(ekmfull(kts+1:kte/2),2.)
endif
endif

Expand Down
23 changes: 12 additions & 11 deletions chem/module_aerosols_soa_vbs.F
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ SUBROUTINE soa_vbs_driver ( id,ktau,dtstep,t_phy,moist,aerwrf,p8w, &
h2oaj,h2oai,nu3,ac3,cor3,asulf,ahno3,anh3, &
vcsulf_old, &
vdrog3, &
kemit,brch_ratio, &
kemit,brch_ratio,do_isorropia, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte )
Expand Down Expand Up @@ -98,6 +98,7 @@ SUBROUTINE soa_vbs_driver ( id,ktau,dtstep,t_phy,moist,aerwrf,p8w, &
REAL, DIMENSION( ims:ime , kms:kme-0 , jms:jme ) , &
INTENT(IN ) :: vcsulf_old
REAL, INTENT(IN ) :: dtstep
LOGICAL, INTENT(IN ) :: do_isorropia

REAL drog_in(ldrog_vbs) ! anthropogenic AND biogenic organic aerosol precursors [ug m**-3 s**-1]

Expand Down Expand Up @@ -413,7 +414,8 @@ SUBROUTINE soa_vbs_driver ( id,ktau,dtstep,t_phy,moist,aerwrf,p8w, &
! condvap_in is removed
CALL rpmmod3(nspcsda,blksize,k,dtstep,10.*p(k),t(k),rh0(k),nitrate_in,nh3_in, &
vsulf_in,so4rat_in,drog_in,ldrog_vbs,ncv,nacv,eeci_in,eecj_in, &
eorgi_in,eorgj_in,epm25i,epm25j,epmcoarse,soilrat_in,cblk,i,j,k,brrto)
eorgi_in,eorgj_in,epm25i,epm25j,epmcoarse,soilrat_in,cblk,i,j,k,brrto, &
do_isorropia )

! calculation of brch_ratio
brch_ratio(i,k,j)= brrto
Expand Down Expand Up @@ -1411,7 +1413,7 @@ SUBROUTINE aeroproc(blksize,nspcsda,numcells,layer,cblk,dt,blkta,blkprs, &
epm25j,eorgi,eorgj,eeci,eecj,epmcoarse,esoil,eseas,xlm,amu,dgnuc, &
dgacc,dgcor,pmassn,pmassa,pmassc,pdensn,pdensa,pdensc,knnuc,knacc, &
kncor,fconcn,fconca,fconcn_org,fconca_org,dmdt,dndt,cgrn3,cgra3,urn00, &
ura00,brna01,c30,deltaso4a,igrid,jgrid,kgrid,brrto)
ura00,brna01,c30,deltaso4a,igrid,jgrid,kgrid,brrto,do_isorropia)

!USE module_configure, only: grid_config_rec_type
!TYPE (grid_config_rec_type), INTENT (in) :: config_flags
Expand Down Expand Up @@ -1563,7 +1565,8 @@ SUBROUTINE aeroproc(blksize,nspcsda,numcells,layer,cblk,dt,blkta,blkprs, &
! rate for 0th moment
REAL c30(blksize) ! by intermodal c
REAL brrto

!
LOGICAL do_isorropia
! *** other processes

! intermodal 3rd moment transfer r
Expand All @@ -1581,15 +1584,12 @@ SUBROUTINE aeroproc(blksize,nspcsda,numcells,layer,cblk,dt,blkta,blkprs, &
PARAMETER (unit=20)
integer igrid,jgrid,kgrid,isorop

!liqy
isorop=1

! *** get water, ammonium and nitrate content:
! for now, don't call if temp is below -40C (humidity
! for this wrf version is already limited to 10 percent)
if(blkta(1).ge.233.15.and.blkrh(1).ge.0.1 .and. isorop.eq.1)then
if(blkta(1).ge.233.15.and.blkrh(1).ge.0.1 .and. do_isorropia )then
CALL eql3(blksize,nspcsda,numcells,cblk,blkta,blkrh)
else if (blkta(1).ge.233.15.and.blkrh(1).ge.0.1 .and. isorop.eq.0)then
else if (blkta(1).ge.233.15.and.blkrh(1).ge.0.1 .and. (.not. do_isorropia) )then
CALL eql4(blksize,nspcsda,numcells,cblk,blkta,blkrh)
endif
Expand Down Expand Up @@ -5135,7 +5135,7 @@ END SUBROUTINE rpmares_old
SUBROUTINE rpmmod3(nspcsda,blksize,layer,dtsec,pres,temp,relhum, &
nitrate_in,nh3_in,vsulf_in,so4rat_in,drog_in,ldrog_vbs,ncv, &
nacv,eeci_in,eecj_in,eorgi_in,eorgj_in,epm25i,epm25j,epmcoarse, &
soilrat_in,cblk,igrid,jgrid,kgrid,brrto)
soilrat_in,cblk,igrid,jgrid,kgrid,brrto,do_isorropia)

!USE module_configure, only: grid_config_rec_type
!TYPE (grid_config_rec_type), INTENT (in) :: config_flags
Expand Down Expand Up @@ -5205,6 +5205,7 @@ SUBROUTINE rpmmod3(nspcsda,blksize,layer,dtsec,pres,temp,relhum, &
REAL drog(blksize,ldrog_vbs) ! organic aerosol precursor [ppm]

REAL brrto
LOGICAL do_isorropia
!bs
! *** Primary emissions rates: [ ug / m**3 s ]

Expand Down Expand Up @@ -5460,7 +5461,7 @@ SUBROUTINE rpmmod3(nspcsda,blksize,layer,dtsec,pres,temp,relhum, &
nacv,epm25i,epm25j,eorgi,eorgj,eeci,eecj,epmcoarse,esoil,eseas,xlm, &
amu,dgnuc,dgacc,dgcor,pmassn,pmassa,pmassc,pdensn,pdensa,pdensc,knnuc, &
knacc,kncor,fconcn,fconca,fconcn_org,fconca_org,dmdt,dndt,cgrn3,cgra3, &
urn00,ura00,brna01,brna31,deltaso4a,igrid,jgrid,kgrid,brrto)
urn00,ura00,brna01,brna31,deltaso4a,igrid,jgrid,kgrid,brrto,do_isorropia)

! *** write output
! WRITE(UNIT,*) ' AFTER AEROPROC '
Expand Down
2 changes: 1 addition & 1 deletion inc/version_decl
Original file line number Diff line number Diff line change
@@ -1 +1 @@
CHARACTER (LEN=*), PARAMETER :: release_version = 'V4.3.2'
CHARACTER (LEN=*), PARAMETER :: release_version = 'V4.3.3'
3 changes: 2 additions & 1 deletion share/module_check_a_mundo.F
Original file line number Diff line number Diff line change
Expand Up @@ -395,10 +395,11 @@ END FUNCTION bep_bem_ngr_u
! Check that LES PBL is only paired with acceptable other PBL options.
! Currently, problems occur with any CG PBL option that has a packaged
! scalar component: MYNN2, MYNN3, EEPS. This test is also if a user
! chooses to not run a PBL scheme on a finer domain, wbut use a PBL
! chooses to not run a PBL scheme on a finer domain, but use a PBL
! parameterized scheme on a coarser domain (obviously, just for testing
! purposes).
!-----------------------------------------------------------------------
exists = .FALSE.
DO i = 1, model_config_rec % max_dom
IF ( .NOT. model_config_rec % grid_allowed(i) ) CYCLE
IF ( model_config_rec % bl_pbl_physics(i) .EQ. LESscheme ) THEN
Expand Down

0 comments on commit c40e138

Please sign in to comment.