Skip to content

Commit aaca3b0

Browse files
Remove some hard-coded constants and rename some meta entries
1 parent f76236f commit aaca3b0

13 files changed

+126
-81
lines changed

physics/GFS_rrtmg_pre.meta

+3-3
Original file line numberDiff line numberDiff line change
@@ -1195,8 +1195,8 @@
11951195
kind = kind_phys
11961196
intent = out
11971197
[aero_dir_fdb]
1198-
standard_name = rrfs_smoke_dust_rad_fdb_opt
1199-
long_name = flag for rrfs smoke dust rad feedback
1198+
standard_name = do_smoke_aerosol_direct_feedback
1199+
long_name = flag for smoke and dust radiation feedback
12001200
units = flag
12011201
dimensions = ()
12021202
type = logical
@@ -1233,7 +1233,7 @@
12331233
type = integer
12341234
intent = in
12351235
[rrfs_smoke_band]
1236-
standard_name = rrtmg_band_number_that_smoke_and_dust_should_affect
1236+
standard_name = index_of_shortwave_band_affected_by_smoke
12371237
long_name = rrtmg band number that smoke and dust should affect
12381238
units = count
12391239
dimensions = ()

physics/mp_thompson.meta

+2-2
Original file line numberDiff line numberDiff line change
@@ -436,8 +436,8 @@
436436
kind = kind_phys
437437
intent = in
438438
[aero_ind_fdb]
439-
standard_name = rrfs_smoke_aero_ind_fdb_opt
440-
long_name = flag for rrfs wfa ifa emission
439+
standard_name = do_smoke_aerosol_indirect_feedback
440+
long_name = flag for wfa ifa emission indirect feedback
441441
units = flag
442442
dimensions = ()
443443
type = logical

physics/mynnedmf_wrapper.meta

+4-4
Original file line numberDiff line numberDiff line change
@@ -1353,21 +1353,21 @@
13531353
intent = inout
13541354
[frp]
13551355
standard_name = frp_hourly
1356-
long_name = hourly frp
1357-
units = mw
1356+
long_name = hourly fire radiative power
1357+
units = MW
13581358
dimensions = (horizontal_loop_extent)
13591359
type = real
13601360
kind = kind_phys
13611361
intent = inout
13621362
[mix_chem]
1363-
standard_name = rrfs_smoke_mynn_tracer_mixing
1363+
standard_name = do_planetary_boundary_layer_smoke_mixing
13641364
long_name = flag for rrfs smoke mynn tracer mixing
13651365
units = flag
13661366
dimensions = ()
13671367
type = logical
13681368
intent = in
13691369
[fire_turb]
1370-
standard_name = rrfs_smoke_mynn_enh_vermix
1370+
standard_name = do_planetary_boundary_layer_fire_enhancement
13711371
long_name = flag for rrfs smoke mynn enh vermix
13721372
units = flag
13731373
dimensions = ()

smoke/dep_wet_ls_mod.F90

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ module dep_wet_ls_mod
55
use rrfs_smoke_data
66
use machine , only : kind_phys
77
use rrfs_smoke_config
8-
use physcons, only : grav => con_g
98
! use chem_tracers_mod
109
! use chem_rc_mod
1110
! use chem_tracers_mod
@@ -206,7 +205,7 @@ end subroutine wetdep_ls
206205

207206
subroutine WetRemovalGOCART ( data,i1, i2, j1, j2, k1, k2, n1, n2, cdt, &
208207
num_chem, var_rmv, chem, ple, tmpu, &
209-
rhoa, dqcond, precc, precl, &
208+
rhoa, dqcond, precc, precl, grav, &
210209
ims, ime, jms, jme, kms, kme)
211210
! ims, ime, jms, jme, kms, kme, rc )
212211

@@ -217,7 +216,7 @@ subroutine WetRemovalGOCART ( data,i1, i2, j1, j2, k1, k2, n1, n2, cdt, &
217216
! !INPUT PARAMETERS:
218217
integer, intent(in) :: i1, i2, j1, j2, k1, k2, n1, n2, num_chem, &
219218
ims, ime, jms, jme, kms, kme
220-
real(kind_phys), intent(in) :: cdt
219+
real(kind_phys), intent(in) :: cdt, grav
221220
REAL(kind_phys), DIMENSION( ims:ime , kms:kme , jms:jme ,1:num_chem),&
222221
INTENT(INOUT) :: chem
223222
REAL(kind_phys), DIMENSION( ims:ime , jms:jme,num_chem ), &

smoke/module_plumerise1.F90

+8-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ module module_plumerise1
55

66
use rrfs_smoke_data
77
use machine , only : kind_phys
8+
real(kind=kind_phys),parameter :: p1000mb = 100000. ! p at 1000mb (pascals)
89
!- Implementing the fire radiative power (FRP) methodology for biomass burning
910
!- emissions and convective energy estimation.
1011
!- Saulo Freitas, Gabriel Pereira (INPE/UFJS, Brazil)
@@ -37,7 +38,7 @@ module module_plumerise1
3738
subroutine ebu_driver ( data,flam_frac,ebb_smoke,ebu, &
3839
t_phy,q_vap, & ! RAR: moist is replaced with q_vap
3940
rho_phy,vvel,u_phy,v_phy,p_phy, &
40-
z_at_w,z,ktau, & ! scale_fire_emiss is part of config_flags
41+
z_at_w,z,ktau,g,con_cp,con_rd, & ! scale_fire_emiss is part of config_flags
4142
plume_frp, k_min, k_max, & ! RAR:
4243
ids,ide, jds,jde, kds,kde, &
4344
ims,ime, jms,jme, kms,kme, &
@@ -66,6 +67,7 @@ subroutine ebu_driver ( data,flam_frac,ebb_smoke,ebu, &
6667
! INTENT(IN ) :: moist
6768
real(kind=kind_phys), DIMENSION( ims:ime, kms:kme, jms:jme ), INTENT(INOUT ) :: ebu
6869

70+
real(kind=kind_phys), INTENT(IN ) :: g, con_cp, con_rd
6971
real(kind=kind_phys), DIMENSION( ims:ime, jms:jme ), INTENT(IN ) :: ebb_smoke
7072
real(kind=kind_phys), DIMENSION( ims:ime, jms:jme ), INTENT(OUT ) :: flam_frac
7173

@@ -87,7 +89,7 @@ subroutine ebu_driver ( data,flam_frac,ebb_smoke,ebu, &
8789
!real(kind_phys), dimension (num_ebu) :: eburn_in
8890
!real(kind_phys), dimension (kte,num_ebu) :: eburn_out
8991
real(kind_phys), dimension (kte) :: u_in ,v_in ,w_in ,theta_in ,pi_in, rho_phyin ,qv_in ,zmid, z_lev
90-
real(kind=kind_phys) :: dz_plume
92+
real(kind=kind_phys) :: dz_plume, cpor, con_rocp
9193

9294
!INTEGER, PARAMETER :: kfire_max=30
9395
! real(kind_phys), dimension(nveg_agreg) :: firesize,mean_fct
@@ -111,6 +113,8 @@ subroutine ebu_driver ( data,flam_frac,ebb_smoke,ebu, &
111113
! ebu(i,kts,j,p_ebu_pm10) = ebu_in(i,1,j,p_ebu_in_pm10)
112114
! enddo
113115
! enddo
116+
cpor =con_cp/con_rd
117+
con_rocp=con_rd/con_cp
114118

115119
IF ( dbg_opt .and. ktau<2000) then
116120
WRITE(*,*) 'module_plumerise1: its,ite,jts,jte ', its,ite,jts,jte
@@ -188,7 +192,8 @@ subroutine ebu_driver ( data,flam_frac,ebb_smoke,ebu, &
188192
u_in, v_in, w_in, theta_in ,pi_in, &
189193
rho_phyin, qv_in, zmid, z_lev, &
190194
plume_frp(i,j,1), k_min(i,j), &
191-
k_max(i,j), ktau, dbg_opt, errmsg, errflg )
195+
k_max(i,j), ktau, dbg_opt, g, con_cp, &
196+
con_rd, cpor, errmsg, errflg )
192197
!k_max(i,j), ktau, config_flags%debug_chem )
193198
if(errflg/=0) return
194199

smoke/module_smoke_plumerise.F90

+10-8
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,22 @@ module module_smoke_plumerise
1616
use machine , only : kind_phys
1717
use rrfs_smoke_data
1818
use rrfs_smoke_config, only : FIRE_OPT_GBBEPx, FIRE_OPT_MODIS
19-
use physcons, only : g => con_g, cp => con_cp, r_d => con_rd, r_v =>con_rv
2019
use plume_data_mod, only : num_frp_plume, p_frp_hr, p_frp_std, &
2120
!tropical_forest, boreal_forest, savannah, grassland, &
2221
wind_eff
2322
USE module_zero_plumegen_coms
2423

25-
real(kind=kind_phys),parameter :: p1000mb = 100000. ! p at 1000mb (pascals)
26-
real(kind=kind_phys),parameter :: rgas=r_d
27-
real(kind=kind_phys),parameter :: cpor=cp/r_d
28-
real(kind=kind_phys),parameter :: p00=p1000mb
24+
!real(kind=kind_phys),parameter :: rgas=r_d
25+
!real(kind=kind_phys),parameter :: cpor=cp/r_d
2926
CONTAINS
3027

3128
! RAR:
3229
subroutine plumerise(data,m1,m2,m3,ia,iz,ja,jz, &
3330
! firesize,mean_fct, &
3431
! nspecies,eburn_in,eburn_out, &
3532
up,vp,wp,theta,pp,dn0,rv,zt_rams,zm_rams, &
36-
frp_inst,k1,k2, ktau, dbg_opt, errmsg, errflg )
33+
frp_inst,k1,k2, ktau, dbg_opt, g, cp, rgas, &
34+
cpor, errmsg, errflg )
3735

3836
implicit none
3937
type(smoke_data), intent(inout) :: data
@@ -44,6 +42,7 @@ subroutine plumerise(data,m1,m2,m3,ia,iz,ja,jz, &
4442

4543
! integer, intent(in) :: PLUMERISE_flag
4644
real(kind=kind_phys) :: frp_inst ! This is the instantenous FRP, at a given time step
45+
real(kind=kind_phys) :: g, cp, rgas, cpor
4746

4847
integer :: ng,m1,m2,m3,ia,iz,ja,jz,ibcon,mynum,i,j,k,imm,ixx,ispc !,nspecies
4948

@@ -146,7 +145,7 @@ subroutine plumerise(data,m1,m2,m3,ia,iz,ja,jz, &
146145
! enddo
147146

148147
!- get envinronmental state (temp, water vapor mix ratio, ...)
149-
call get_env_condition(coms,1,m1,kmt,wind_eff,ktau,errmsg,errflg)
148+
call get_env_condition(coms,1,m1,kmt,wind_eff,ktau,g,cp,rgas,cpor,errmsg,errflg)
150149
if(errflg/=0) return
151150

152151
!- loop over the four types of aggregate biomes with fires for plumerise version 1
@@ -221,13 +220,16 @@ subroutine plumerise(data,m1,m2,m3,ia,iz,ja,jz, &
221220
end subroutine plumerise
222221
!-------------------------------------------------------------------------
223222

224-
subroutine get_env_condition(coms,k1,k2,kmt,wind_eff,ktau,errmsg,errflg)
223+
subroutine get_env_condition(coms,k1,k2,kmt,wind_eff,ktau,g,cp,rgas,cpor,errmsg,errflg)
225224

226225
!se module_zero_plumegen_coms
227226
!use rconstants
228227
implicit none
229228
type(plumegen_coms), pointer :: coms
229+
real(kind=kind_phys) :: g,cp,rgas,cpor
230230
integer :: k1,k2,k,kcon,klcl,kmt,nk,nkmid,i
231+
real(kind=kind_phys),parameter :: p1000mb = 100000. ! p at 1000mb (pascals)
232+
real(kind=kind_phys),parameter :: p00=p1000mb
231233
real(kind=kind_phys) :: znz,themax,tlll,plll,rlll,zlll,dzdd,dzlll,tlcl,plcl,dzlcl,dummy
232234
!integer :: n_setgrid = 0
233235
integer :: wind_eff,ktau

smoke/rrfs_smoke_lsdep_wrapper.F90

+6-7
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
module rrfs_smoke_lsdep_wrapper
66

7-
use physcons, only : g => con_g, pi => con_pi
87
use machine , only : kind_phys
98
use rrfs_smoke_config
109
use dep_wet_ls_mod
@@ -28,7 +27,7 @@ module rrfs_smoke_lsdep_wrapper
2827
!>\section rrfs_smoke_lsdep_wrapper GSD Chemistry Scheme General Algorithm
2928
!> @{
3029
subroutine rrfs_smoke_lsdep_wrapper_run(im, kte, kme, ktau, dt, &
31-
rain_cpl, rainc_cpl, &
30+
rain_cpl, rainc_cpl, g, &
3231
pr3d, ph3d,phl3d, prl3d, tk3d, us3d, vs3d, spechum, &
3332
w, dqdt, ntrac,ntsmoke,ntdust, &
3433
gq0,qgrs,wetdep_ls_opt_in, &
@@ -39,7 +38,7 @@ subroutine rrfs_smoke_lsdep_wrapper_run(im, kte, kme, ktau, dt, &
3938

4039
integer, intent(in) :: im,kte,kme,ktau
4140
integer, intent(in) :: ntrac,ntsmoke,ntdust
42-
real(kind_phys),intent(in) :: dt
41+
real(kind_phys),intent(in) :: dt,g
4342

4443
integer, parameter :: ids=1,jds=1,jde=1, kds=1
4544
integer, parameter :: ims=1,jms=1,jme=1, kms=1
@@ -119,7 +118,7 @@ subroutine rrfs_smoke_lsdep_wrapper_run(im, kte, kme, ktau, dt, &
119118
call rrfs_smoke_prep_lsdep(data,ktau,dtstep, &
120119
pr3d,ph3d,phl3d,tk3d,prl3d,us3d,vs3d,spechum,w, dqdt, &
121120
rri,t_phy,u_phy,v_phy,p_phy,rho_phy,dz8w,p8w, &
122-
t8w,dqdti,z_at_w,vvel, &
121+
t8w,dqdti,z_at_w,vvel,g, &
123122
ntsmoke,ntdust, &
124123
ntrac,gq0,num_chem, num_moist, &
125124
ppm2ugkg,moist,chem, &
@@ -138,7 +137,7 @@ subroutine rrfs_smoke_lsdep_wrapper_run(im, kte, kme, ktau, dt, &
138137
case (WDLS_OPT_NGAC)
139138
call WetRemovalGOCART(data,its,ite, jts,jte, kts,kte, 1,1, dt, &
140139
num_chem,var_rmv,chem,p_phy,t_phy, &
141-
rho_phy,dqdti,rcav,rnav, &
140+
rho_phy,dqdti,rcav,rnav, g, &
142141
ims,ime, jms,jme, kms,kme)
143142
!if (chem_rc_check(localrc, msg="Failure in NGAC wet removal scheme", &
144143
! file=__FILE__, line=__LINE__, rc=rc)) return
@@ -170,7 +169,7 @@ end subroutine rrfs_smoke_lsdep_wrapper_run
170169
subroutine rrfs_smoke_prep_lsdep(data,ktau,dtstep, &
171170
pr3d,ph3d,phl3d,tk3d,prl3d,us3d,vs3d,spechum,w,dqdt, &
172171
rri,t_phy,u_phy,v_phy,p_phy,rho_phy,dz8w,p8w, &
173-
t8w,dqdti,z_at_w,vvel, &
172+
t8w,dqdti,z_at_w,vvel,g, &
174173
ntsmoke,ntdust, &
175174
ntrac,gq0,num_chem, num_moist, &
176175
ppm2ugkg,moist,chem, &
@@ -182,7 +181,7 @@ subroutine rrfs_smoke_prep_lsdep(data,ktau,dtstep, &
182181

183182
!Chem input configuration
184183
integer, intent(in) :: ktau
185-
real(kind=kind_phys), intent(in) :: dtstep
184+
real(kind=kind_phys), intent(in) :: dtstep,g
186185

187186
!FV3 input variables
188187
integer, intent(in) :: ntrac,ntsmoke,ntdust

smoke/rrfs_smoke_lsdep_wrapper.meta

+11-3
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,14 @@
5959
type = real
6060
kind = kind_phys
6161
intent = in
62+
[g]
63+
standard_name = gravitational_acceleration
64+
long_name = gravitational acceleration
65+
units = m s-2
66+
dimensions = ()
67+
type = real
68+
kind = kind_phys
69+
intent = in
6270
[pr3d]
6371
standard_name = air_pressure_at_interface
6472
long_name = air pressure at model layer interfaces
@@ -147,14 +155,14 @@
147155
type = integer
148156
intent = in
149157
[ntsmoke]
150-
standard_name = index_for_smoke
158+
standard_name = index_for_smoke_in_tracer_concentration_array
151159
long_name = tracer index for smoke
152160
units = index
153161
dimensions = ()
154162
type = integer
155163
intent = in
156164
[ntdust]
157-
standard_name = index_for_dust
165+
standard_name = index_for_dust_in_tracer_concentration_array
158166
long_name = tracer index for dust
159167
units = index
160168
dimensions = ()
@@ -177,7 +185,7 @@
177185
kind = kind_phys
178186
intent = inout
179187
[wetdep_ls_opt_in]
180-
standard_name = rrfs_smoke_wetdep_ls_opt
188+
standard_name = control_for_smoke_wet_deposition
181189
long_name = rrfs smoke large scale wet deposition option
182190
units = index
183191
dimensions = ()

smoke/rrfs_smoke_postpbl.meta

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@
2222
type = integer
2323
intent = in
2424
[ntsmoke]
25-
standard_name = index_for_smoke
25+
standard_name = index_for_smoke_in_tracer_concentration_array
2626
long_name = tracer index for smoke
2727
units = index
2828
dimensions = ()
2929
type = integer
3030
intent = in
3131
[ntdust]
32-
standard_name = index_for_dust
32+
standard_name = index_for_dust_in_tracer_concentration_array
3333
long_name = tracer index for dust
3434
units = index
3535
dimensions = ()

0 commit comments

Comments
 (0)