diff --git a/CARMAchem_GridComp/CARMA/source/base/Makefile b/CARMAchem_GridComp/CARMA/source/base/Makefile
index 80df4dd..b51164a 100644
--- a/CARMAchem_GridComp/CARMA/source/base/Makefile
+++ b/CARMAchem_GridComp/CARMA/source/base/Makefile
@@ -16,7 +16,7 @@ setupcoag.o smallconc.o step.o supersat.o vaporp.o vertadv.o \
vertdif.o vertical.o versol.o rhopart.o psolve.o zeromicro.o \
nsubsteps.o setupgrow.o setupgkern.o setupnuc.o growevapl.o microfast.o \
gsolve.o actdropl.o freezglaerl_murray2010.o growp.o downgxfer.o \
-gasexchange.o melticel.o upgxfer.o freezdropl.o \
+gasexchange.o melticel.o upgxfer.o freezdropl.o pfastdmdt.o \
downgevapply.o evapp.o evap_poly.o evap_mono.o \
evap_ingrp.o tsolve.o miess.o vaporp_h2o_buck1981.o \
vaporp_h2o_murphy2005.o maxconc.o setupbdif.o setupvf_std.o \
@@ -159,6 +159,9 @@ growp.o : growp.F90 carma_globaer.h carma_mod.mod carmastate_mod.mod carma_types
gsolve.o : gsolve.F90 carma_globaer.h carma_mod.mod carmastate_mod.mod carma_types_mod.mod carma_constants_mod.mod carma_enums_mod.mod carma_precision_mod.mod
$(FORTRAN) $(FFLAGS) -c $<
+pfastdmdt.o : pfastdmdt.F90 carma_globaer.h carma_mod.mod carmastate_mod.mod carma_types_mod.mod carma_constants_mod.mod carma_enums_mod.mod carma_precision_mod.mod
+ $(FORTRAN) $(FFLAGS) -c $<
+
fractal_meanfield_mod.o : fractal_meanfield_mod.F90 carma_globaer.h carma_mod.mod carmastate_mod.mod carma_types_mod.mod carma_constants_mod.mod carma_enums_mod.mod carma_precision_mod.mod adgaquad_mod.mod lusolvec_mod.mod
$(FORTRAN) $(FFLAGS) -c $<
diff --git a/CARMAchem_GridComp/CARMA/source/base/carma_enums_mod.F90 b/CARMAchem_GridComp/CARMA/source/base/carma_enums_mod.F90
index 3c29caa..76854dd 100644
--- a/CARMAchem_GridComp/CARMA/source/base/carma_enums_mod.F90
+++ b/CARMAchem_GridComp/CARMA/source/base/carma_enums_mod.F90
@@ -85,11 +85,11 @@ module carma_enums_mod
integer, public, parameter :: I_SWG_RURAL = 14 !! Rural
! Routines to calculate gas vapor pressures
+ integer, public, parameter :: I_VAPRTN_NULL = -1 !! For non-condensing gases
integer, public, parameter :: I_VAPRTN_H2O_BUCK1981 = 1 !! H2O, Buck[1981]
integer, public, parameter :: I_VAPRTN_H2O_MURPHY2005 = 2 !! H2O, Murphy & Koop [2005]
integer, public, parameter :: I_VAPRTN_H2O_GOFF1946 = 3 !! H2O, Goff & Gratch [1946], used in CAM
integer, public, parameter :: I_VAPRTN_H2SO4_AYERS1980 = 4 !! H2SO4, Ayers [1980] & Kumala [1990]
- integer, public, parameter :: I_VAPRTN_NULL = 5 !! For non-condensing gases
! Routines to calculate fall velocities
integer, public, parameter :: I_FALLRTN_STD = 1 !! Standard CARMA 2.3 routine (spherical only)
@@ -118,6 +118,7 @@ module carma_enums_mod
integer, public, parameter :: RC_ERROR = -1 !! Failure
integer, public, parameter :: RC_WARNING = 1 !! Warning
integer, public, parameter :: RC_WARNING_RETRY = 2 !! Warning, Retry Suggested
+ integer, public, parameter :: RC_WARNING_PFAST = 3 !! Warning, Parameterization Suggested
! Define values of symbols used to specify horizontal & vertical grid type.
diff --git a/CARMAchem_GridComp/CARMA/source/base/carma_globaer.h b/CARMAchem_GridComp/CARMA/source/base/carma_globaer.h
index 19be1e9..ea0cf83 100644
--- a/CARMAchem_GridComp/CARMA/source/base/carma_globaer.h
+++ b/CARMAchem_GridComp/CARMA/source/base/carma_globaer.h
@@ -145,6 +145,7 @@
#define do_print_init carma%f_do_print_init
#define do_step carma%f_do_step
#define do_substep carma%f_do_substep
+#define do_pfast carma%f_do_pfast
#define do_thermo carma%f_do_thermo
#define do_vdiff carma%f_do_vdiff
#define do_vtran carma%f_do_vtran
diff --git a/CARMAchem_GridComp/CARMA/source/base/carma_mod.F90 b/CARMAchem_GridComp/CARMA/source/base/carma_mod.F90
index c24fdbf..ebb7f11 100644
--- a/CARMAchem_GridComp/CARMA/source/base/carma_mod.F90
+++ b/CARMAchem_GridComp/CARMA/source/base/carma_mod.F90
@@ -333,7 +333,7 @@ end subroutine CARMA_Create
!! @version Feb-2009
!! @author Chuck Bardeen
subroutine CARMA_Initialize(carma, rc, do_cnst_rlh, do_coag, do_detrain, do_fixedinit, &
- do_grow, do_incloud, do_explised, do_print_init, do_substep, do_thermo, do_vdiff, &
+ do_grow, do_incloud, do_explised, do_print_init, do_substep, do_pfast, do_thermo, do_vdiff, &
do_vtran, do_drydep, vf_const, minsubsteps, maxsubsteps, maxretries, conmax, &
do_pheat, do_pheatatm, dt_threshold, cstick, gsticki, gstickl, tstick, do_clearsky, &
do_partialinit)
@@ -348,6 +348,7 @@ subroutine CARMA_Initialize(carma, rc, do_cnst_rlh, do_coag, do_detrain, do_fixe
logical, intent(in), optional :: do_incloud !! do incloud growth and coagulation?
logical, intent(in), optional :: do_explised !! do sedimentation with substepping
logical, intent(in), optional :: do_substep !! do substepping
+ logical, intent(in), optional :: do_pfast !! do parameterized microfast
logical, intent(in), optional :: do_print_init !! do prinit initializtion information
logical, intent(in), optional :: do_thermo !! do thermodynamics
logical, intent(in), optional :: do_vdiff !! do Brownian diffusion
@@ -384,6 +385,7 @@ subroutine CARMA_Initialize(carma, rc, do_cnst_rlh, do_coag, do_detrain, do_fixe
carma%f_do_pheatatm = .FALSE.
carma%f_do_print_init = .FALSE.
carma%f_do_substep = .FALSE.
+ carma%f_do_pfast = .FALSE.
carma%f_do_thermo = .FALSE.
carma%f_do_vdiff = .FALSE.
carma%f_do_vtran = .FALSE.
@@ -408,6 +410,7 @@ subroutine CARMA_Initialize(carma, rc, do_cnst_rlh, do_coag, do_detrain, do_fixe
if (present(do_pheatatm)) carma%f_do_pheatatm = do_pheatatm
if (present(do_print_init)) carma%f_do_print_init = (do_print_init .and. carma%f_do_print)
if (present(do_substep)) carma%f_do_substep = do_substep
+ if (present(do_pfast)) carma%f_do_pfast = do_pfast
if (present(do_thermo)) carma%f_do_thermo = do_thermo
if (present(do_vdiff)) carma%f_do_vdiff = do_vdiff
if (present(do_vtran)) carma%f_do_vtran = do_vtran
diff --git a/CARMAchem_GridComp/CARMA/source/base/carma_types_mod.F90 b/CARMAchem_GridComp/CARMA/source/base/carma_types_mod.F90
index e0b7517..7aa834c 100644
--- a/CARMAchem_GridComp/CARMA/source/base/carma_types_mod.F90
+++ b/CARMAchem_GridComp/CARMA/source/base/carma_types_mod.F90
@@ -353,6 +353,7 @@ module carma_types_mod
! do_print_init If .true. then do print initializtion info {init}
! do_step if .true. then varstepping succeeded {init}
! do_substep if .true. then use substepping {init}
+ ! do_pfast if .true. then use microfast parameterization {init}
! do_thermo if .true. then do solve thermodynamic equation {init}
! do_vdiff If .true. then do Brownian diffusion {init}
! do_vtran If .true. then do vertical transport {init}
@@ -394,6 +395,7 @@ module carma_types_mod
logical :: f_do_print_init
logical :: f_do_step
logical :: f_do_substep
+ logical :: f_do_pfast
logical :: f_do_thermo
logical :: f_do_cnst_rlh
logical, allocatable, dimension(:,:) :: f_if_nuc !(NELEM,NELEM)
diff --git a/CARMAchem_GridComp/CARMA/source/base/freezaerl_koop2000.F90 b/CARMAchem_GridComp/CARMA/source/base/freezaerl_koop2000.F90
index c26ac32..0bcd047 100644
--- a/CARMAchem_GridComp/CARMA/source/base/freezaerl_koop2000.F90
+++ b/CARMAchem_GridComp/CARMA/source/base/freezaerl_koop2000.F90
@@ -75,8 +75,9 @@ subroutine freezaerl_koop2000(carma, cstate, iz, rc)
real(kind=f) :: fkelv
real(kind=f) :: fkelvi
-
- rc = RC_OK
+ ! PAC: Assuming success inside of a subroutine is a problem, any errors
+ ! are erased by this.
+ !rc = RC_OK
! Aerosol freezing limited to T < 240K
if (t(iz) <= 240._f) then
diff --git a/CARMAchem_GridComp/CARMA/source/base/freezaerl_mohler2010.F90 b/CARMAchem_GridComp/CARMA/source/base/freezaerl_mohler2010.F90
index a21604d..1796388 100644
--- a/CARMAchem_GridComp/CARMA/source/base/freezaerl_mohler2010.F90
+++ b/CARMAchem_GridComp/CARMA/source/base/freezaerl_mohler2010.F90
@@ -76,7 +76,9 @@ subroutine freezaerl_mohler2010(carma, cstate, iz, rc)
real(kind=f) :: fkelvi
- rc = RC_OK
+ ! PAC: Assuming success inside of a subroutine is a problem, any errors
+ ! are erased by this.
+ !rc = RC_OK
! Aerosol freezing limited to T < 240K
if (t(iz) <= 240._f) then
diff --git a/CARMAchem_GridComp/CARMA/source/base/freezglaerl_murray2010.F90 b/CARMAchem_GridComp/CARMA/source/base/freezglaerl_murray2010.F90
index 1fa920f..d76bc75 100644
--- a/CARMAchem_GridComp/CARMA/source/base/freezglaerl_murray2010.F90
+++ b/CARMAchem_GridComp/CARMA/source/base/freezglaerl_murray2010.F90
@@ -60,7 +60,9 @@ subroutine freezglaerl_murray2010(carma, cstate, iz, rc)
real(kind=f) :: ssi, ssiold
! Assume success.
- rc = RC_OK
+ ! PAC: Assuming success inside of a subroutine is a problem, any errors
+ ! are erased by this.
+ !rc = RC_OK
! Loop over particle groups.
do igroup = 1,NGROUP
diff --git a/CARMAchem_GridComp/CARMA/source/base/gsolve.F90 b/CARMAchem_GridComp/CARMA/source/base/gsolve.F90
index e442575..6edaffc 100644
--- a/CARMAchem_GridComp/CARMA/source/base/gsolve.F90
+++ b/CARMAchem_GridComp/CARMA/source/base/gsolve.F90
@@ -64,7 +64,7 @@ subroutine gsolve(carma, cstate, iz, previous_ice, previous_liquid, scale_thresh
if (gc(iz,igas) < 0.0_f) then
if (do_substep) then
- if (nretries == maxretries) then
+ if (nretries == maxretries .and. .not. do_pfast) then
if (do_print) write(LUNOPRT,1) trim(gasname(igas)), iz, lat, lon, gc(iz,igas), gasprod(igas), &
supsati(iz,igas), supsatl(iz,igas), t(iz)
if (do_print) write(LUNOPRT,2) gcl(iz,igas), supsatiold(iz,igas), supsatlold(iz,igas), told(iz), d_gc(iz,igas), d_t(iz)
diff --git a/CARMAchem_GridComp/CARMA/source/base/microfast.F90 b/CARMAchem_GridComp/CARMA/source/base/microfast.F90
index 48b0344..20c47b5 100644
--- a/CARMAchem_GridComp/CARMA/source/base/microfast.F90
+++ b/CARMAchem_GridComp/CARMA/source/base/microfast.F90
@@ -151,14 +151,17 @@ subroutine microfast(carma, cstate, iz, scale_threshold, rc)
call downgevapply(carma, cstate, iz, rc)
if (rc < RC_OK) return
+ ! If this is a parameterized timestep, scale bin values to prevent gas overshoot
+ if (rc == RC_WARNING_PFAST) call pfastdmdt(carma, cstate, iz, rc)
+
call gsolve(carma, cstate, iz, previous_ice, previous_liquid, scale_threshold, rc)
- if (rc /=RC_OK) return
+ if (rc /= RC_OK .and. rc /= RC_WARNING_PFAST) return
endif
! Update temperature if thermal processes requested
if (do_thermo) then
call tsolve(carma, cstate, iz, scale_threshold, rc)
- if (rc /= RC_OK) return
+ if (rc /= RC_OK .and. rc /= RC_WARNING_PFAST) return
endif
! Update saturation ratios
diff --git a/CARMAchem_GridComp/CARMA/source/base/newstate_calc.F90 b/CARMAchem_GridComp/CARMA/source/base/newstate_calc.F90
index ee88a4f..aa9bcbf 100644
--- a/CARMAchem_GridComp/CARMA/source/base/newstate_calc.F90
+++ b/CARMAchem_GridComp/CARMA/source/base/newstate_calc.F90
@@ -188,16 +188,29 @@ subroutine newstate_calc(carma, cstate, scale_threshold, rc)
nretries = nretries + 1
if (nretries > maxretries) then
- if (do_print) write(LUNOPRT,1) iz, isubstep, ntsubsteps, nretries - 1._f
- rc = RC_ERROR
- exit
+ if (do_pfast) then
+ if (nretries > maxretries+1) then
+ if (do_print) write(LUNOPRT,1) iz, isubstep, ntsubsteps, -1._f*nretries
+ rc = RC_ERROR
+ exit
+ endif
+ rc = RC_WARNING_PFAST
+ else
+ if (do_print) write(LUNOPRT,1) iz, isubstep, ntsubsteps, nretries - 1._f
+ rc = RC_ERROR
+ exit
+ end if
end if
! Try twice the substeps
!
! NOTE: We are going to rely upon retries, so don't clutter the log
! with retry print statements. They slow down the run.
- ntsubsteps = ntsubsteps * 2
+ if (rc == RC_WARNING_PFAST) then
+ ntsubsteps = minsubsteps
+ else
+ ntsubsteps = ntsubsteps * 2
+ endif
! if (do_print) write(LUNOPRT,*) "newstate::WARNING - Substep failed, retrying with ", ntsubsteps, " substeps."
@@ -213,7 +226,7 @@ subroutine newstate_calc(carma, cstate, scale_threshold, rc)
if (rc < RC_OK) return
end do
- rc = RC_OK
+ if (rc == RC_WARNING_RETRY) rc = RC_OK
takeSteps = .true.
exit
@@ -238,6 +251,8 @@ subroutine newstate_calc(carma, cstate, scale_threshold, rc)
nsubstep = nsubstep + ntsubsteps
nretry = nretry + nretries
+ if (rc == RC_WARNING_PFAST) rc = RC_OK
+
if (do_substep) zsubsteps(iz) = ntsubsteps
end do
diff --git a/CARMAchem_GridComp/CARMA/source/base/pfastdmdt.F90 b/CARMAchem_GridComp/CARMA/source/base/pfastdmdt.F90
new file mode 100644
index 0000000..b23c3ed
--- /dev/null
+++ b/CARMAchem_GridComp/CARMA/source/base/pfastdmdt.F90
@@ -0,0 +1,68 @@
+! Include shortname defintions, so that the F77 code does not have to be modified to
+! reference the CARMA structure.
+#include "carma_globaer.h"
+
+!! This routine normalizes dmdt as to not make gas concentration go negative.
+!!
+!! @author Parker Case
+!! @version Mar-2024
+subroutine pfastdmdt(carma, cstate, iz, rc)
+
+ ! types
+ use carma_precision_mod
+ use carma_enums_mod
+ use carma_constants_mod
+ use carma_types_mod
+ use carmastate_mod
+ use carma_mod
+
+ implicit none
+
+ type(carma_type), intent(in) :: carma !! the carma object
+ type(carmastate_type), intent(inout) :: cstate !! the carma state object
+ integer, intent(in) :: iz !! z index
+ integer, intent(inout) :: rc !! return code, negative indicates failure
+
+ ! Local declarations
+ real(kind=f) :: rvap
+ real(kind=f) :: gc_cgs
+ real(kind=f) :: gc_target
+ real(kind=f) :: scalefactor
+ integer :: igroup
+ integer :: ielem
+ integer :: igas
+ integer :: ibin
+
+ do igroup = 1,NGROUP
+
+ ielem = ienconc(igroup) ! element of particle number concentration
+
+ igas = igrowgas(ielem) ! condensing gas
+
+ if ((itype(ielem) == I_VOLATILE) .and. (igas /= 0)) then
+
+ ! Calculate vapor pressures.
+ call vaporp(carma, cstate, iz, igas, rc)
+
+ ! Define gas constant for this gas
+ rvap = RGAS / gwtmol(igas)
+
+ ! Current gas concentration
+ gc_cgs = gc(iz,igas) / (zmet(iz)*xmet(iz)*ymet(iz))
+
+ ! Gas concentration at equilibrium
+ gc_target = pvapl(iz,igas) / (rvap * t(iz))
+
+ ! Determine total mass added to bins in implicit timestep
+ scalefactor = sum((pc(iz,:,ielem) - pcl(iz,:,ielem))*rmass(:,igroup))/(gc_cgs - gc_target)
+
+ ! Loop through bins and apply correction
+ do ibin = 1,NBIN
+ pc(iz,ibin,ielem) = pcl(iz,ibin,ielem) + (pc(iz,ibin,ielem) - pcl(iz,ibin,ielem)) / scalefactor
+ end do
+ end if
+
+ end do
+
+ return
+end
diff --git a/CARMAchem_GridComp/CARMA_GridComp.F90 b/CARMAchem_GridComp/CARMA_GridComp.F90
index 139d8fc..6bdbe4a 100644
--- a/CARMAchem_GridComp/CARMA_GridComp.F90
+++ b/CARMAchem_GridComp/CARMA_GridComp.F90
@@ -1088,7 +1088,7 @@ SUBROUTINE CARMA_GridCompRun ( gcCARMA, qa, impChem, expChem, nymd, nhms, &
! This is set in the internal_spec but possibly is bootstrapped.
! If bootstrapped set to current temperature.
n = nCARMAbegin + reg%NBIN*reg%NELEM + reg%NGAS
- if(qa(n)%data3d(i1,j2,km) < 0.) qa(n)%data3d = tmpu
+ if(qa(n)%data3d(i1,j2,km) <= 0.) qa(n)%data3d = tmpu
! And same for gases -- first, initialize water vapor to current
do igas = 1, reg%NGAS
n = nCARMAbegin + reg%NBIN*reg%NELEM - 1 + igas
diff --git a/CARMAchem_GridComp/CARMA_UtilMod.F90 b/CARMAchem_GridComp/CARMA_UtilMod.F90
index 3d4b3a0..c9f56f2 100644
--- a/CARMAchem_GridComp/CARMA_UtilMod.F90
+++ b/CARMAchem_GridComp/CARMA_UtilMod.F90
@@ -310,12 +310,8 @@ SUBROUTINE CARMA_Emissions ( gcCARMA, qa, impChem, expChem, nymd, nhms, cdt, &
! In this implementation we compute f(u,v,...) in a separate routine
! and do the rest here.
-! Read dust source function from file if not already allocated
- if( .not. associated(gcCARMA%dust_source)) then
- allocate(gcCARMA%dust_source(i1:i2,j1:j2),__STAT__)
- gcCARMA%dust_source = 0.
- call MAPL_GetPointer( impChem, gcCARMA%dust_source, 'CARMA_DU_SRC', __RC__)
- endif
+! Read dust source function from file
+ call MAPL_GetPointer( impChem, gcCARMA%dust_source, 'CARMA_DU_SRC', __RC__)
! Do the emission calculation
! The DEAD emission calculation occurs outside the size bins, returning
diff --git a/CARMAchem_GridComp/CARMAchem_GridCompMod.F90 b/CARMAchem_GridComp/CARMAchem_GridCompMod.F90
index 0480d56..b039dea 100644
--- a/CARMAchem_GridComp/CARMAchem_GridCompMod.F90
+++ b/CARMAchem_GridComp/CARMAchem_GridCompMod.F90
@@ -987,7 +987,6 @@ SUBROUTINE Finalize_ ( gc, import, export, clock, rc )
! Destroy emissions
! -----------------
- if(associated(gcCARMA%dust_source)) deallocate( gcCARMA%dust_source, __STAT__)
if(associated(gcCARMA%vLat)) deallocate( gcCARMA%vLat, __STAT__)
if(associated(gcCARMA%vLon)) deallocate( gcCARMA%vLon, __STAT__)
if(associated(gcCARMA%vSO2)) deallocate( gcCARMA%vSO2, __STAT__)
diff --git a/CARMAchem_GridComp/CARMAchem_Registry.rc b/CARMAchem_GridComp/CARMAchem_Registry.rc
index ce977a0..ae3828d 100644
--- a/CARMAchem_GridComp/CARMAchem_Registry.rc
+++ b/CARMAchem_GridComp/CARMAchem_Registry.rc
@@ -64,8 +64,9 @@ ICOMPOSITION: 1 2 3
# GASNAME = name
# IGCOMP = gas composition: 1 (I_GCOMP_H2O), 2 (I_GCOMP_H2SO4), 3 (I_GCOMP_SO2),
# 4 (I_GCOMP_HNO3)
-# IGVAPREQ = vapor pressure equation: 1 (I_VAPRTN_H2O_BUCK1981), 2 (I_VAPRTN_H2O_MURPHY2005)
-# 3 (I_VAPRTN_H2O_GOFF1946), 4 (I_VAPRTN_H2SO4_AYERS1980)
+# IGVAPREQ = vapor pressure equation: -1 (I_VAPRTN_NULL), 1 (I_VAPRTN_H2O_BUCK1981),
+# 2 (I_VAPRTN_H2O_MURPHY2005), 3 (I_VAPRTN_H2O_GOFF1946),
+# 4 (I_VAPRTN_H2SO4_AYERS1980)
GASNAME: H2O H2SO4 HNO3
IGCOMP: 1 2 4
IGVAPREQ: 2 4 -1
diff --git a/CARMAchem_GridComp/CARMAchem_Registry.rc.MIXED b/CARMAchem_GridComp/CARMAchem_Registry.rc.MIXED
new file mode 100644
index 0000000..6f1154b
--- /dev/null
+++ b/CARMAchem_GridComp/CARMAchem_Registry.rc.MIXED
@@ -0,0 +1,483 @@
+#
+# This the CARMA Grid Component Registry.
+# We use a single registry to define the particular instantiation
+# of CARMA, as well as to define Import, Internal, and Export
+# states
+#
+# !REVISION HISTORY:
+# 16Aug2006 da Silva First Version
+# 1Feb2007 Kouatchou Population of specs
+# 29Mar2007 Nielsen Name validation, inclusion for GEOS-5
+# 18Nov2009 Colarco First Crack
+# 23Nov2009 Colarco Add Control elements to registry
+# 16May2019 Case Addition of STS/HNO3 options
+#
+# -----------------------------------------------------------------
+
+# CARMA dimensioning parameters
+NBIN: 24
+NGROUP: 2
+NELEM: 3
+NSOLUTE: 0
+NGAS: 3
+NWAVE: 0
+
+# PARTICLES
+# ---------
+# GROUPS: Define the aerosol groups (must be at least NGROUP entries)
+# GROUPNAME = name
+# RMRAT = ratio of mass of bin i+1 to bin i
+# RMIN = central radius [cm] of smallest bin
+# ISHAPE = shape type: 1 (Sphere), 2 (Hexagon), 3 (Cylinder)
+# ESHAPE = aspect ratio of particle: 1.0 (spherical)
+# if CYLINDER, << 1 for disks, >> 1 for needles
+# FSCAV = convective scavenging efficiency (fraction km-1) -- deprecated
+# IRHSWELL = humidifcation type for fall/optics: 0 (I_NO_SWELLING), 1 (I_FITZGERALD),
+# 2 (I_GERBER), 3 (I_WTPCT_H2SO4),
+# 4 (I_WTPCT_STS)
+# IRHSWCOMP = composition swelling flag
+GROUPNAME: sulfate mixedp
+RMRAT: 3.7515201 2.2587828
+RMIN: 2.6686863e-8 5.e-06
+ISHAPE: 1 1
+ESHAPE: 1. 1.
+FSCAV: 0.4 0.4
+IRHSWELL: 3 0
+IRHSWCOMP: 0 0
+
+# ELEMENTS: Define the aerosol elements (must be at least NELEM entries)
+# IGROUP = group (above) the element maps to
+# RHOP = elements density [g cm-3]
+# ELEMNAME = name of element
+# ITYPE = element type: 1 (I_INVOLATILE), 2 (I_VOLATILE), 3 (I_COREMASS)
+# 4 (I_VOLCORE), 5 (I_CORE2MOM)
+# ICOMPOSITION =
+IGROUP: 1 2 2 2 2
+RHOP: 1.923 1.923 2.65 1.35 2.20
+ELEMNAME: pc sulfate dust smoke seasalt
+ITYPE: 2 2 3 3 3
+ICOMPOSITION: 0 0 1 2 3
+
+# GASES
+# -----
+# Define the gas properties (must be at least NGAS entries)
+# GASNAME = name
+# IGCOMP = gas composition: 1 (I_GCOMP_H2O), 2 (I_GCOMP_H2SO4), 3 (I_GCOMP_SO2),
+# 4 (I_GCOMP_HNO3)
+# IGVAPREQ = vapor pressure equation: -1 (I_VAPRTN_NULL), 1 (I_VAPRTN_H2O_BUCK1981),
+# 2 (I_VAPRTN_H2O_MURPHY2005), 3 (I_VAPRTN_H2O_GOFF1946),
+# 4 (I_VAPRTN_H2SO4_AYERS1980)
+GASNAME: H2O H2SO4 HNO3
+IGCOMP: 1 2 4
+IGVAPREQ: 2 4 -1
+
+
+# Microphysical process control
+# Logical (0 or 1)
+DO_COAG: 1
+DO_GROW: 1
+DO_SUBSTEP: 1
+DO_THERMO: 1
+DO_VDIFF: 0
+DO_VTRAN: 1
+DO_FIXEDINIT:1
+
+# Substepping and vfall (configured for sulfate case for now)
+VF_CONST: 0.
+MINSUBSTEPS: 1
+MAXSUBSTEPS: 32
+MAXRETRIES: 16
+CONMAX: 0.1
+
+# Species specific parameters (input files, size distribution, other conditions)
+# DUST
+# Point-wise dust source
+point_emissions_srcfilen_dust: /dev/null
+dust_emissions_fudgefactor: 2.e-4
+
+# SEA SALT
+seasalt_emissions_fudgefactor: 1.4
+
+# BLACK CARBON
+
+# SMOKE
+organic_matter_to_organic_carbon_ratio: 1.8
+fraction_terpene_to_organic_carbon: 0.1
+
+#SULFATE
+
+# Point-wise sulfate source
+point_emissions_srcfilen_sulfate: /dev/null
+
+# Monochromatic (diagnostic) optical properties
+ n_channels: 4
+ n_moments: 0
+ r_channels: 4.7e-7 5.5e-7 6.7e-7 8.7e-7
+ filename_optical_properties_DU: /discover/nobackup/pcolarco/fvInput/AeroCom/x/carma_optics_DU.v15.nbin=22.nc
+ filename_optical_properties_SS: /discover/nobackup/pcolarco/fvInput/AeroCom/x/carma_optics_SS.v3_3.nbin=22.nc
+ filename_optical_properties_BC: /discover/nobackup/pcolarco/fvInput/AeroCom/x/carma_optics_SU.v1.nbin=22.nc
+ filename_optical_properties_SM: /discover/nobackup/pcolarco/fvInput/AeroCom/x/carma_optics_SM.v1.nbin=22.nc
+ filename_optical_properties_SU: /discover/nobackup/pcolarco/fvInput/AeroCom/x/carma_optics_SU.v1.nbin=22.nc
+
+# Band optical properties
+# Current is a place holder...need CARMA tables for RRTMG, these are just
+# GOCART tables made to cause code not to crash (although it will if CARMA is
+# AeroProvider)
+ NUM_BANDS: 30
+ DU_OPTICS: ExtData/chemistry/AerosolOptics/v0.0.0/x/opticsBands_DU.v15_3.RRTMG.nc
+ SS_OPTICS: ExtData/chemistry/AerosolOptics/v0.0.0/x/opticsBands_DU.v15_3.RRTMG.nc
+ SU_OPTICS: ExtData/chemistry/AerosolOptics/v0.0.0/x/opticsBands_DU.v15_3.RRTMG.nc
+ OC_OPTICS: ExtData/chemistry/AerosolOptics/v0.0.0/x/opticsBands_DU.v15_3.RRTMG.nc
+ BC_OPTICS: ExtData/chemistry/AerosolOptics/v0.0.0/x/opticsBands_DU.v15_3.RRTMG.nc
+ BRC_OPTICS: ExtData/chemistry/AerosolOptics/v0.0.0/x/opticsBands_DU.v15_3.RRTMG.nc
+ NI_OPTICS: ExtData/chemistry/AerosolOptics/v0.0.0/x/opticsBands_DU.v15_3.RRTMG.nc
+
+# The following code is the initial registry
+ COMP_NAME: CARMA
+
+# Only change the Registry version when major structural changes
+# occurs, not changes in content
+# --------------------------------------------------------------
+ MAPL_REGISTRY_VERSION: 1.00
+
+# ------------
+# Import State
+# ------------
+
+
+# -------------------|-------------|-----|---|----|---|---|-----|------|--------------------------
+# Short | | | V |Item|Intervl| Sub | Def | Long
+# Name | Units | Dim |Loc|Type| R | A |Tiles| ault | Name
+# -------------------|-------------|-----|---|----|---|---|-----|------|--------------------------
+ ZLE | m | xyz | E | | | | | | Layer interface geopot height
+ PLE | Pa | xyz | E | | | | | | Layer interface pressure
+ TROPP | Pa | xy | | | | | | | Tropopause pressure (blended estimate)
+ Q | kg kg-1 | xyz | C | | | | | | Specific Humidity
+ RH2 | 1 | xyz | C | | | | | | Relative Humidity after Moist
+ T | K | xyz | C | | | | | | Air Temperature (from Dynamics)
+ AIRDENS | kg m-3 | xyz | C | | | | | | Air density
+ USTAR | m s-1 | xy | | | | | | | Friction Speed
+ U10M | m s-1 | xy | | | | | | | E/W 10-meter wind speed
+ V10M | m s-1 | xy | | | | | | | N/S 10-meter wind speed
+ ZPBL | m | xy | | | | | | | PBL Height
+ Z0H | m | xy | | | | | | | Roughness Length for Heat
+ SH | W m-2 | xy | | | | | | | Sensible Heat Flux
+ NCN_PRCP | kg m-2 s-1 | xy | | | | | | | Non-convective Precipitation
+ CN_PRCP | kg m-2 s-1 | xy | | | | | | | Surface Conv. rain flux needed by land
+ LWI | 1 | xy | | | | | | | Land Ocean Ice Mask
+ FROCEAN | 1 | xy | | | | | | | Ocean fraction
+ FRLAKE | 1 | xy | | | | | | | Lake fraction
+ FRLAND | 1 | xy | | | | | | | Land fraction
+ FRACI | 1 | xy | | | | | | | Ice fraction
+ WET1 | 1 | xy | | | | | | | Surface Soil Wetness
+ AREA | m2 | xy | | | | | | | agrid_cell_area
+ CNV_MFD | kg m-2 s-1 | xyz | C | | | | | | detraining_mass_flux
+ CNV_MFC | kg m-2 s-1 | xyz | E | | | | | | cumulative_mass_flux
+ CNV_QC | kg kg-1 | xyz | C | | | | | | grid_mean_convective_condensate
+ U | m s-1 | xyz | C | | | | | | Eastward (E/W) wind
+ V | m s-1 | xyz | C | | | | | | Northward (N/S) wind
+ PFI_LSAN | kg m-2 s-1 | xyz | E | | | | | | 3D flux of ice nonconvective precipitation
+ PFL_LSAN | kg m-2 s-1 | xyz | E | | | | | | 3D flux of liquid nonconvective precipitation
+# Aerosol source functions
+ CARMA_DU_SRC | 1 | xy | | | | | | | dust source efficiency
+ CARMA_SM_BIOMASS | 1 | xy | | | | | | | smoke biomass burning
+ CARMA_SM_BIOFUEL | 1 | xy | | | | | | | smoke biofuel
+ CARMA_SM_ANTEOC1 | 1 | xy | | | | | | | smoke anthro (1)
+ CARMA_SM_ANTEOC2 | 1 | xy | | | | | | | smoke anthro (2)
+ CARMA_SM_SHIP | 1 | xy | | | | | | | smoke ship
+ CARMA_OC_TERPENE | kg m-2 s-1 | xy | | | | | | | monoterpene emissions
+ CARMA_PSOA_ANTHRO_VOC | kg m-3 s-1 | xyz | C | | | | | | SOA production anthropogenic VOC
+ CARMA_PSOA_BIOB_VOC | kg m-3 s-1 | xyz | C | | | | | | SOA production biomass burning VOC
+ CARMA_PSO4TOT | kg m-2 s-1 | xyz | C | | | | | | so4- production from chemistry
+ CARMA_HNO3 | mol mol-1 | xyz | C | | | | | | nitric acid
+ CARMA_H2SO4 | mol mol-1 | xyz | C | | | | | | sulfuric acid
+# -------------------|-------------|-----|---|----|---|---|-----|------|--------------------------
+
+
+# --------------
+# Internal State
+# --------------
+
+#
+# Note: 1) For friendlies, use "D" for dynamics, "T" for turbulence and "C" for convection; leave blank otherwise
+# 2) If quantity requires no restart, put an 'x' in the No Rst column
+# 3) RO = Alkoxy radical, RO2 = Organic peroxy radical
+
+
+# --------------|------------|-----|---|----|---|---|-----|------|----|----|---------|---------------------------------
+# Short | | | V |Item|Intervl| Sub | Def | No | Ha | Friends | Long
+# Name | Units | Dim |Loc|Type| R | A |Tiles| ault | Rst| lo | | Name
+# --------------|------------|-----|---|----|---|---|-----|------|----|----|---------|---------------------------------
+# --------------|------------|-----|---|----|---|---|-----|------|----|----|---------|---------------------------------
+
+
+
+# ------------
+# Export State
+# ------------
+
+
+# ------------------|-------------|-----|---|----|---|---|-----|------|--------------------------
+# Short | | | V |Item|Intervl| Sub | Def | Long
+# Name | Units | Dim |Loc|Type| R | A |Tiles| ault | Name
+# ------------------|-------------|-----|---|----|---|---|-----|------|--------------------------
+ CARMA_DUEM | kg m-2 s-1 | xy | | | | | | | Dust emission flux
+ CARMA_DUDP | kg m-2 s-1 | xy | | | | | | | Dust deposition flux
+ CARMA_DUSD | kg m-2 s-1 | xy | | | | | | | Dust sedimentation flux
+ CARMA_DUWT | kg m-2 s-1 | xy | | | | | | | Dust wet-deposition flux
+ CARMA_DUSV | kg m-2 s-1 | xy | | | | | | | Dust convective scavenging flux
+ CARMA_DUCMASS | kg m-2 | xy | | | | | | | Dust column burden
+ CARMA_DUSMASS | kg m-3 | xy | | | | | | | Dust surface mass concentration
+ CARMA_DUEXTTAU | 1 | xy | | | | | | | Dust 550-nm extinction AOT
+ CARMA_DUSCATAU | 1 | xy | | | | | | | Dust 550-nm scattering AOT
+ CARMA_DUANGSTR | 1 | xy | | | | | | | Dust 470-870 nm Angstrom parameter
+ CARMA_DUFLUXU | kg m-1 s-1 | xy | | | | | | | Dust column u-wind mass flux
+ CARMA_DUFLUXV | kg m-1 s-1 | xy | | | | | | | Dust column v-wind mass flux
+ CARMA_DUMASS | kg kg-1 | xyz | C | | | | | | Dust Mass Mixing Ratio
+ CARMA_DUCONC | kg m-3 | xyz | C | | | | | | Dust Mass Concentration
+ CARMA_DUSAREA | m-2 m-3 | xyz | C | | | | | | Dust Total Surace Area Density
+ CARMA_DUNUMD | m-3 | xyz | C | | | | | | Dust Total Number Density
+ CARMA_DUREFF | m | xyz | C | | | | | | Dust Particle Effective Radius
+ CARMA_MXDUEM | kg m-2 s-1 | xy | | | | | | | Mixed Dust emission flux
+ CARMA_MXDUDP | kg m-2 s-1 | xy | | | | | | | Mixed Dust deposition flux
+ CARMA_MXDUSD | kg m-2 s-1 | xy | | | | | | | Mixed Dust sedimentation flux
+ CARMA_MXDUWT | kg m-2 s-1 | xy | | | | | | | Mixed Dust wet-deposition flux
+ CARMA_MXDUSV | kg m-2 s-1 | xy | | | | | | | Mixed Dust convective scavenging flux
+ CARMA_MXDUCMASS | kg m-2 | xy | | | | | | | Mixed Dust column burden
+ CARMA_MXDUSMASS | kg m-3 | xy | | | | | | | Mixed Dust surface mass concentration
+ CARMA_MXDUEXTTAU | 1 | xy | | | | | | | Mixed Dust 550-nm extinction AOT
+ CARMA_MXDUSCATAU | 1 | xy | | | | | | | Mixed Dust 550-nm scattering AOT
+ CARMA_MXDUANGSTR | 1 | xy | | | | | | | Mixed Dust 470-870 nm Angstrom parameter
+ CARMA_MXDUFLUXU | kg m-1 s-1 | xy | | | | | | | Mixed Dust column u-wind mass flux
+ CARMA_MXDUFLUXV | kg m-1 s-1 | xy | | | | | | | Mixed Dust column v-wind mass flux
+ CARMA_MXDUMASS | kg kg-1 | xyz | C | | | | | | Mixed Dust Mass Mixing Ratio
+ CARMA_MXDUCONC | kg m-3 | xyz | C | | | | | | Mixed Dust Mass Concentration
+ CARMA_ASHEM | kg m-2 s-1 | xy | | | | | | | Ash emission flux
+ CARMA_ASHDP | kg m-2 s-1 | xy | | | | | | | Ash deposition flux
+ CARMA_ASHSD | kg m-2 s-1 | xy | | | | | | | Ash sedimentation flux
+ CARMA_ASHWT | kg m-2 s-1 | xy | | | | | | | Ash wet-deposition flux
+ CARMA_ASHSV | kg m-2 s-1 | xy | | | | | | | Ash convective scavenging flux
+ CARMA_ASHCMASS | kg m-2 | xy | | | | | | | Ash column burden
+ CARMA_ASHSMASS | kg m-3 | xy | | | | | | | Ash surface mass concentration
+ CARMA_ASHEXTTAU | 1 | xy | | | | | | | Ash 550-nm extinction AOT
+ CARMA_ASHSCATAU | 1 | xy | | | | | | | Ash 550-nm scattering AOT
+ CARMA_ASHANGSTR | 1 | xy | | | | | | | Ash 470-870 nm Angstrom parameter
+ CARMA_ASHFLUXU | kg m-1 s-1 | xy | | | | | | | Ash column u-wind mass flux
+ CARMA_ASHFLUXV | kg m-1 s-1 | xy | | | | | | | Ash column v-wind mass flux
+ CARMA_ASHMASS | kg kg-1 | xyz | C | | | | | | Ash Mass Mixing Ratio
+ CARMA_ASHCONC | kg m-3 | xyz | C | | | | | | Ash Mass Concentration
+ CARMA_ASHSAREA | m-2 m-3 | xyz | C | | | | | | Ash Total Surace Area Density
+ CARMA_ASHNUMD | m-3 | xyz | C | | | | | | Ash Total Number Density
+ CARMA_ASHREFF | m | xyz | C | | | | | | Ash Particle Effective Radius
+ CARMA_MXASHEM | kg m-2 s-1 | xy | | | | | | | Mixed Ash emission flux
+ CARMA_MXASHDP | kg m-2 s-1 | xy | | | | | | | Mixed Ash deposition flux
+ CARMA_MXASHSD | kg m-2 s-1 | xy | | | | | | | Mixed Ash sedimentation flux
+ CARMA_MXASHWT | kg m-2 s-1 | xy | | | | | | | Mixed Ash wet-deposition flux
+ CARMA_MXASHSV | kg m-2 s-1 | xy | | | | | | | Mixed Ash convective scavenging flux
+ CARMA_MXASHCMASS | kg m-2 | xy | | | | | | | Mixed Ash column burden
+ CARMA_MXASHSMASS | kg m-3 | xy | | | | | | | Mixed Ash surface mass concentration
+ CARMA_MXASHEXTTAU | 1 | xy | | | | | | | Mixed Ash 550-nm extinction AOT
+ CARMA_MXASHSCATAU | 1 | xy | | | | | | | Mixed Ash 550-nm scattering AOT
+ CARMA_MXASHANGSTR | 1 | xy | | | | | | | Mixed Ash 470-870 nm Angstrom parameter
+ CARMA_MXASHFLUXU | kg m-1 s-1 | xy | | | | | | | Mixed Ash column u-wind mass flux
+ CARMA_MXASHFLUXV | kg m-1 s-1 | xy | | | | | | | Mixed Ash column v-wind mass flux
+ CARMA_MXASHMASS | kg kg-1 | xyz | C | | | | | | Mixed Ash Mass Mixing Ratio
+ CARMA_MXASHCONC | kg m-3 | xyz | C | | | | | | Mixed Ash Mass Concentration
+ CARMA_SSEM | kg m-2 s-1 | xy | | | | | | | Seasalt emission flux
+ CARMA_SSDP | kg m-2 s-1 | xy | | | | | | | Seasalt deposition flux
+ CARMA_SSSD | kg m-2 s-1 | xy | | | | | | | Seasalt sedimentation flux
+ CARMA_SSWT | kg m-2 s-1 | xy | | | | | | | Seasalt wet-deposition flux
+ CARMA_SSSV | kg m-2 s-1 | xy | | | | | | | Seasalt convective scavenging flux
+ CARMA_SSCMASS | kg m-2 | xy | | | | | | | Seasalt column burden
+ CARMA_SSSMASS | kg m-3 | xy | | | | | | | Seasalt surface mass concentration
+ CARMA_SSEXTTAU | 1 | xy | | | | | | | Seasalt 550-nm extinction AOT
+ CARMA_SSSCATAU | 1 | xy | | | | | | | Seasalt 550-nm scattering AOT
+ CARMA_SSANGSTR | 1 | xy | | | | | | | Seasalt 470-870 nm Angstrom parameter
+ CARMA_SSFLUXU | kg m-1 s-1 | xy | | | | | | | Seasalt column u-wind mass flux
+ CARMA_SSFLUXV | kg m-1 s-1 | xy | | | | | | | Seasalt column v-wind mass flux
+ CARMA_SSMASS | kg kg-1 | xyz | C | | | | | | Seasalt Mass Mixing Ratio
+ CARMA_SSCONC | kg m-3 | xyz | C | | | | | | Seasalt Mass Concentration
+ CARMA_SSSAREA | m-2 m-3 | xyz | C | | | | | | Seasalt Total Surace Area Density
+ CARMA_SSNUMD | m-3 | xyz | C | | | | | | Seasalt Total Number Density
+ CARMA_SSREFF | m | xyz | C | | | | | | Seasalt Particle Effective Radius
+ CARMA_MXSSEM | kg m-2 s-1 | xy | | | | | | | Mixed Seasalt emission flux
+ CARMA_MXSSDP | kg m-2 s-1 | xy | | | | | | | Mixed Seasalt deposition flux
+ CARMA_MXSSSD | kg m-2 s-1 | xy | | | | | | | Mixed Seasalt sedimentation flux
+ CARMA_MXSSWT | kg m-2 s-1 | xy | | | | | | | Mixed Seasalt wet-deposition flux
+ CARMA_MXSSSV | kg m-2 s-1 | xy | | | | | | | Mixed Seasalt convective scavenging flux
+ CARMA_MXSSCMASS | kg m-2 | xy | | | | | | | Mixed Seasalt column burden
+ CARMA_MXSSSMASS | kg m-3 | xy | | | | | | | Mixed Seasalt surface mass concentration
+ CARMA_MXSSEXTTAU | 1 | xy | | | | | | | Mixed Seasalt 550-nm extinction AOT
+ CARMA_MXSSSCATAU | 1 | xy | | | | | | | Mixed Seasalt 550-nm scattering AOT
+ CARMA_MXSSANGSTR | 1 | xy | | | | | | | Mixed Seasalt 470-870 nm Angstrom parameter
+ CARMA_MXSSFLUXU | kg m-1 s-1 | xy | | | | | | | Mixed Seasalt column u-wind mass flux
+ CARMA_MXSSFLUXV | kg m-1 s-1 | xy | | | | | | | Mixed Seasalt column v-wind mass flux
+ CARMA_MXSSMASS | kg kg-1 | xyz | C | | | | | | Mixed Seasalt Mass Mixing Ratio
+ CARMA_MXSSCONC | kg m-3 | xyz | C | | | | | | Mixed Seasalt Mass Concentration
+ CARMA_SUDP | kg m-2 s-1 | xy | | | | | | | Sulfate deposition flux
+ CARMA_SUSD | kg m-2 s-1 | xy | | | | | | | Sulfate sedimentation flux
+ CARMA_SUWT | kg m-2 s-1 | xy | | | | | | | Sulfate wet-deposition flux
+ CARMA_SUSV | kg m-2 s-1 | xy | | | | | | | Sulfate convective scavenging flux
+ CARMA_SUCMASS | kg m-2 | xy | | | | | | | Sulfate column burden
+ CARMA_SUSMASS | kg m-3 | xy | | | | | | | Sulfate surface mass concentration
+ CARMA_SUEXTTAU | 1 | xy | | | | | | | Sulfate 550-nm extinction AOT
+ CARMA_SUSCATAU | 1 | xy | | | | | | | Sulfate 550-nm scattering AOT
+ CARMA_SUSTRATEXTTAU | 1 | xy | | | | | | | Stratospheric Sulfate 550-nm extinction AOT
+ CARMA_SUSTRATSCATAU | 1 | xy | | | | | | | Stratospheric Sulfate 550-nm scattering AOT
+ CARMA_SUANGSTR | 1 | xy | | | | | | | Sulfate 470-870 nm Angstrom parameter
+ CARMA_SUFLUXU | kg m-1 s-1 | xy | | | | | | | Sulfate column u-wind mass flux
+ CARMA_SUFLUXV | kg m-1 s-1 | xy | | | | | | | Sulfate column v-wind mass flux
+ CARMA_SUMASS | kg kg-1 | xyz | C | | | | | | Sulfate Mass Mixing Ratio
+ CARMA_SUCONC | kg m-3 | xyz | C | | | | | | Sulfate Mass Concentration
+ CARMA_SUNUC | m-3 s-1 | xyz | C | | | | | | Sulfate Total Nucleation Rate
+ CARMA_SUSAREA | m-2 m-3 | xyz | C | | | | | | Sulfate Total Surace Area Density
+ CARMA_SUSAREAv | m-2 m-3 | xyz | C | | | | | | Sulfate Total Surace Area Density (zeroed volcanic)
+ CARMA_SUNUMD | m-3 | xyz | C | | | | | | Sulfate Total Number Density
+ CARMA_SUREFF | m | xyz | C | | | | | | Sulfate Particle Effective Radius
+ CARMA_H2SO4CMASS | kg m-2 | xy | | | | | | | Sulfuric Acid vapor column burden
+ CARMA_MXSAREA | m-2 m-3 | xyz | C | | | | | | Mixed Group Total Surace Area Density
+ CARMA_MXNUMD | m-3 | xyz | C | | | | | | Mixed Group Total Number Density
+ CARMA_MXREFF | m | xyz | C | | | | | | Mixed Group Particle Effective Radius
+ CARMA_MXSUDP | kg m-2 s-1 | xy | | | | | | | Mixed Sulfate deposition flux
+ CARMA_MXSUSD | kg m-2 s-1 | xy | | | | | | | Mixed Sulfate sedimentation flux
+ CARMA_MXSUWT | kg m-2 s-1 | xy | | | | | | | Mixed Sulfate wet-deposition flux
+ CARMA_MXSUSV | kg m-2 s-1 | xy | | | | | | | Mixed Sulfate convective scavenging flux
+ CARMA_MXSUCMASS | kg m-2 | xy | | | | | | | Mixed Sulfate column burden
+ CARMA_MXSUSMASS | kg m-3 | xy | | | | | | | Mixed Sulfate surface mass concentration
+ CARMA_MXSUEXTTAU | 1 | xy | | | | | | | Mixed Sulfate 550-nm extinction AOT
+ CARMA_MXSUSCATAU | 1 | xy | | | | | | | Mixed Sulfate 550-nm scattering AOT
+ CARMA_MXSUANGSTR | 1 | xy | | | | | | | Mixed Sulfate 470-870 nm Angstrom parameter
+ CARMA_MXSUFLUXU | kg m-1 s-1 | xy | | | | | | | Mixed Sulfate column u-wind mass flux
+ CARMA_MXSUFLUXV | kg m-1 s-1 | xy | | | | | | | Mixed Sulfate column v-wind mass flux
+ CARMA_MXSUMASS | kg kg-1 | xyz | C | | | | | | Mixed Sulfate Mass Mixing Ratio
+ CARMA_MXSUCONC | kg m-3 | xyz | C | | | | | | Mixed Sulfate Mass Concentration
+ CARMA_SMEM | kg m-2 s-1 | xy | | | | | | | Smoke emission flux
+ CARMA_SMDP | kg m-2 s-1 | xy | | | | | | | Smoke deposition flux
+ CARMA_SMSD | kg m-2 s-1 | xy | | | | | | | Smoke sedimentation flux
+ CARMA_SMWT | kg m-2 s-1 | xy | | | | | | | Smoke wet-deposition flux
+ CARMA_SMSV | kg m-2 s-1 | xy | | | | | | | Smoke convective scavenging flux
+ CARMA_SMCMASS | kg m-2 | xy | | | | | | | Smoke column burden
+ CARMA_SMSMASS | kg m-3 | xy | | | | | | | Smoke surface mass concentration
+ CARMA_SMEXTTAU | 1 | xy | | | | | | | Smoke 550-nm extinction AOT
+ CARMA_SMSCATAU | 1 | xy | | | | | | | Smoke 550-nm scattering AOT
+ CARMA_SMANGSTR | 1 | xy | | | | | | | Smoke 470-870 nm Angstrom parameter
+ CARMA_SMFLUXU | kg m-1 s-1 | xy | | | | | | | Smoke column u-wind mass flux
+ CARMA_SMFLUXV | kg m-1 s-1 | xy | | | | | | | Smoke column v-wind mass flux
+ CARMA_SMMASS | kg kg-1 | xyz | C | | | | | | Smoke Mass Mixing Ratio
+ CARMA_SMCONC | kg m-3 | xyz | C | | | | | | Smoke Mass Concentration
+ CARMA_SMSAREA | m-2 m-3 | xyz | C | | | | | | Smoke Total Surace Area Density
+ CARMA_SMNUMD | m-3 | xyz | C | | | | | | Smoke Total Number Density
+ CARMA_SMREFF | m | xyz | C | | | | | | Smoke Particle Effective Radius
+ CARMA_MXSMEM | kg m-2 s-1 | xy | | | | | | | Mixed Smoke emission flux
+ CARMA_MXSMDP | kg m-2 s-1 | xy | | | | | | | Mixed Smoke deposition flux
+ CARMA_MXSMSD | kg m-2 s-1 | xy | | | | | | | Mixed Smoke sedimentation flux
+ CARMA_MXSMWT | kg m-2 s-1 | xy | | | | | | | Mixed Smoke wet-deposition flux
+ CARMA_MXSMSV | kg m-2 s-1 | xy | | | | | | | Mixed Smoke convective scavenging flux
+ CARMA_MXSMCMASS | kg m-2 | xy | | | | | | | Mixed Smoke column burden
+ CARMA_MXSMSMASS | kg m-3 | xy | | | | | | | Mixed Smoke surface mass concentration
+ CARMA_MXSMEXTTAU | 1 | xy | | | | | | | Mixed Smoke 550-nm extinction AOT
+ CARMA_MXSMSCATAU | 1 | xy | | | | | | | Mixed Smoke 550-nm scattering AOT
+ CARMA_MXSMANGSTR | 1 | xy | | | | | | | Mixed Smoke 470-870 nm Angstrom parameter
+ CARMA_MXSMFLUXU | kg m-1 s-1 | xy | | | | | | | Mixed Smoke column u-wind mass flux
+ CARMA_MXSMFLUXV | kg m-1 s-1 | xy | | | | | | | Mixed Smoke column v-wind mass flux
+ CARMA_MXSMMASS | kg kg-1 | xyz | C | | | | | | Mixed Smoke Mass Mixing Ratio
+ CARMA_MXSMCONC | kg m-3 | xyz | C | | | | | | Mixed Smoke Mass Concentration
+ CARMA_BCEM | kg m-2 s-1 | xy | | | | | | | Black Carbon emission flux
+ CARMA_BCDP | kg m-2 s-1 | xy | | | | | | | Black Carbon deposition flux
+ CARMA_BCSD | kg m-2 s-1 | xy | | | | | | | Black Carbon sedimentation flux
+ CARMA_BCWT | kg m-2 s-1 | xy | | | | | | | Black Carbon wet-deposition flux
+ CARMA_BCSV | kg m-2 s-1 | xy | | | | | | | Black Carbon convective scavenging flux
+ CARMA_BCCMASS | kg m-2 | xy | | | | | | | Black Carbon column burden
+ CARMA_BCSMASS | kg m-3 | xy | | | | | | | Black Carbon surface mass concentration
+ CARMA_BCEXTTAU | 1 | xy | | | | | | | Black Carbon 550-nm extinction AOT
+ CARMA_BCSCATAU | 1 | xy | | | | | | | Black Carbon 550-nm scattering AOT
+ CARMA_BCANGSTR | 1 | xy | | | | | | | Black Carbon 470-870 nm Angstrom parameter
+ CARMA_BCFLUXU | kg m-1 s-1 | xy | | | | | | | Black Carbon column u-wind mass flux
+ CARMA_BCFLUXV | kg m-1 s-1 | xy | | | | | | | Black Carbon column v-wind mass flux
+ CARMA_BCMASS | kg kg-1 | xyz | C | | | | | | Black Carbon Mass Mixing Ratio
+ CARMA_BCCONC | kg m-3 | xyz | C | | | | | | Black Carbon Mass Concentration
+ CARMA_MXBCEM | kg m-2 s-1 | xy | | | | | | | Mixed Black Carbon emission flux
+ CARMA_MXBCDP | kg m-2 s-1 | xy | | | | | | | Mixed Black Carbon deposition flux
+ CARMA_MXBCSD | kg m-2 s-1 | xy | | | | | | | Mixed Black Carbon sedimentation flux
+ CARMA_MXBCWT | kg m-2 s-1 | xy | | | | | | | Mixed Black Carbon wet-deposition flux
+ CARMA_MXBCSV | kg m-2 s-1 | xy | | | | | | | Mixed Black Carbon convective scavenging flux
+ CARMA_MXBCCMASS | kg m-2 | xy | | | | | | | Mixed Black Carbon column burden
+ CARMA_MXBCSMASS | kg m-3 | xy | | | | | | | Mixed Black Carbon surface mass concentration
+ CARMA_MXBCEXTTAU | 1 | xy | | | | | | | Mixed Black Carbon 550-nm extinction AOT
+ CARMA_MXBCSCATAU | 1 | xy | | | | | | | Mixed Black Carbon 550-nm scattering AOT
+ CARMA_MXBCANGSTR | 1 | xy | | | | | | | Mixed Black Carbon 470-870 nm Angstrom parameter
+ CARMA_MXBCFLUXU | kg m-1 s-1 | xy | | | | | | | Mixed Black Carbon column u-wind mass flux
+ CARMA_MXBCFLUXV | kg m-1 s-1 | xy | | | | | | | Mixed Black Carbon column v-wind mass flux
+ CARMA_MXBCMASS | kg kg-1 | xyz | C | | | | | | Mixed Black Carbon Mass Mixing Ratio
+ CARMA_MXBCCONC | kg m-3 | xyz | C | | | | | | Mixed Black Carbon Mass Concentration
+ CARMA_TOTEXTTAU | 1 | xy | | | | | | | Total 550-nm extinction AOT
+ CARMA_TOTSCATAU | 1 | xy | | | | | | | Total 550-nm scattering AOT
+ CARMA_TOTANGSTR | 1 | xy | | | | | | | Total 470-870 nm Angstrom parameter
+ CARMA_DUEXTCOEF | m-1 | xyz | C | | | | | | Dust 550 nm extinction coefficient
+ CARMA_DUSCACOEF | m-1 | xyz | C | | | | | | Dust 550 nm scattering coefficient
+ CARMA_BCEXTCOEF | m-1 | xyz | C | | | | | | Black Carbon 550 nm extinction coefficient
+ CARMA_BCSCACOEF | m-1 | xyz | C | | | | | | Black Carbon 550 nm scattering coefficient
+ CARMA_SSEXTCOEF | m-1 | xyz | C | | | | | | Seasalt 550 nm extinction coefficient
+ CARMA_SSSCACOEF | m-1 | xyz | C | | | | | | Seasalt 550 nm scattering coefficient
+ CARMA_SMEXTCOEF | m-1 | xyz | C | | | | | | Smoke 550 nm extinction coefficient
+ CARMA_SMSCACOEF | m-1 | xyz | C | | | | | | Smoke 550 nm scattering coefficient
+ CARMA_SUEXTCOEF | m-1 | xyz | C | | | | | | Sulfate 550 nm extinction coefficient
+ CARMA_SUSCACOEF | m-1 | xyz | C | | | | | | Sulfate 550 nm scattering coefficient
+ CARMA_ASHEXTCOEF | m-1 | xyz | C | | | | | | Ash 550 nm extinction coefficient
+ CARMA_ASHSCACOEF | m-1 | xyz | C | | | | | | Ash 550 nm scattering coefficient
+ CARMA_SUBSTEPS | 1 | xy | | | | | | | CARMA substeps
+ CARMA_RETRIES | 1 | xy | | | | | | | CARMA retries
+ CARMA_ZSUBSTEPS | 1 | xyz | C | | | | | | CARMA substeps per grid box
+ CARMA_SATH2SO4 | 1 | xyz | C | | | | | | H2SO4 supersaturation
+ CARMA_SUVF001 | m s-1 | xyz | E | | | | | | SU group vfall bin 001
+ CARMA_SUVF002 | m s-1 | xyz | E | | | | | | SU group vfall bin 002
+ CARMA_SUVF003 | m s-1 | xyz | E | | | | | | SU group vfall bin 003
+ CARMA_SUVF004 | m s-1 | xyz | E | | | | | | SU group vfall bin 004
+ CARMA_SUVF005 | m s-1 | xyz | E | | | | | | SU group vfall bin 005
+ CARMA_SUVF006 | m s-1 | xyz | E | | | | | | SU group vfall bin 006
+ CARMA_SUVF007 | m s-1 | xyz | E | | | | | | SU group vfall bin 007
+ CARMA_SUVF008 | m s-1 | xyz | E | | | | | | SU group vfall bin 008
+ CARMA_SUVF009 | m s-1 | xyz | E | | | | | | SU group vfall bin 009
+ CARMA_SUVF010 | m s-1 | xyz | E | | | | | | SU group vfall bin 010
+ CARMA_SUVF011 | m s-1 | xyz | E | | | | | | SU group vfall bin 011
+ CARMA_SUVF012 | m s-1 | xyz | E | | | | | | SU group vfall bin 012
+ CARMA_SUVF013 | m s-1 | xyz | E | | | | | | SU group vfall bin 013
+ CARMA_SUVF014 | m s-1 | xyz | E | | | | | | SU group vfall bin 014
+ CARMA_SUVF015 | m s-1 | xyz | E | | | | | | SU group vfall bin 015
+ CARMA_SUVF016 | m s-1 | xyz | E | | | | | | SU group vfall bin 016
+ CARMA_SUVF017 | m s-1 | xyz | E | | | | | | SU group vfall bin 017
+ CARMA_SUVF018 | m s-1 | xyz | E | | | | | | SU group vfall bin 018
+ CARMA_SUVF019 | m s-1 | xyz | E | | | | | | SU group vfall bin 019
+ CARMA_SUVF020 | m s-1 | xyz | E | | | | | | SU group vfall bin 020
+ CARMA_SUVF021 | m s-1 | xyz | E | | | | | | SU group vfall bin 021
+ CARMA_SUVF022 | m s-1 | xyz | E | | | | | | SU group vfall bin 022
+ CARMA_SUVF023 | m s-1 | xyz | E | | | | | | SU group vfall bin 023
+ CARMA_SUVF024 | m s-1 | xyz | E | | | | | | SU group vfall bin 024
+ CARMA_MXVF001 | m s-1 | xyz | E | | | | | | MX group vfall bin 001
+ CARMA_MXVF002 | m s-1 | xyz | E | | | | | | MX group vfall bin 002
+ CARMA_MXVF003 | m s-1 | xyz | E | | | | | | MX group vfall bin 003
+ CARMA_MXVF004 | m s-1 | xyz | E | | | | | | MX group vfall bin 004
+ CARMA_MXVF005 | m s-1 | xyz | E | | | | | | MX group vfall bin 005
+ CARMA_MXVF006 | m s-1 | xyz | E | | | | | | MX group vfall bin 006
+ CARMA_MXVF007 | m s-1 | xyz | E | | | | | | MX group vfall bin 007
+ CARMA_MXVF008 | m s-1 | xyz | E | | | | | | MX group vfall bin 008
+ CARMA_MXVF009 | m s-1 | xyz | E | | | | | | MX group vfall bin 009
+ CARMA_MXVF010 | m s-1 | xyz | E | | | | | | MX group vfall bin 010
+ CARMA_MXVF011 | m s-1 | xyz | E | | | | | | MX group vfall bin 011
+ CARMA_MXVF012 | m s-1 | xyz | E | | | | | | MX group vfall bin 012
+ CARMA_MXVF013 | m s-1 | xyz | E | | | | | | MX group vfall bin 013
+ CARMA_MXVF014 | m s-1 | xyz | E | | | | | | MX group vfall bin 014
+ CARMA_MXVF015 | m s-1 | xyz | E | | | | | | MX group vfall bin 015
+ CARMA_MXVF016 | m s-1 | xyz | E | | | | | | MX group vfall bin 016
+ CARMA_MXVF017 | m s-1 | xyz | E | | | | | | MX group vfall bin 017
+ CARMA_MXVF018 | m s-1 | xyz | E | | | | | | MX group vfall bin 018
+ CARMA_MXVF019 | m s-1 | xyz | E | | | | | | MX group vfall bin 019
+ CARMA_MXVF020 | m s-1 | xyz | E | | | | | | MX group vfall bin 020
+ CARMA_MXVF021 | m s-1 | xyz | E | | | | | | MX group vfall bin 021
+ CARMA_MXVF022 | m s-1 | xyz | E | | | | | | MX group vfall bin 022
+ CARMA_MXVF023 | m s-1 | xyz | E | | | | | | MX group vfall bin 023
+ CARMA_MXVF024 | m s-1 | xyz | E | | | | | | MX group vfall bin 024
+# ------------------|-------------|-----|---|----|---|---|-----|------|--------------------------
+
+
+
diff --git a/CARMAchem_GridComp/CARMAchem_Registry.rc.SU b/CARMAchem_GridComp/CARMAchem_Registry.rc.SU
index a4319aa..912e541 100644
--- a/CARMAchem_GridComp/CARMAchem_Registry.rc.SU
+++ b/CARMAchem_GridComp/CARMAchem_Registry.rc.SU
@@ -64,8 +64,9 @@ ICOMPOSITION: 0 1 2 3
# GASNAME = name
# IGCOMP = gas composition: 1 (I_GCOMP_H2O), 2 (I_GCOMP_H2SO4), 3 (I_GCOMP_SO2),
# 4 (I_GCOMP_HNO3)
-# IGVAPREQ = vapor pressure equation: 1 (I_VAPRTN_H2O_BUCK1981), 2 (I_VAPRTN_H2O_MURPHY2005)
-# 3 (I_VAPRTN_H2O_GOFF1946), 4 (I_VAPRTN_H2SO4_AYERS1980)
+# IGVAPREQ = vapor pressure equation: -1 (I_VAPRTN_NULL), 1 (I_VAPRTN_H2O_BUCK1981),
+# 2 (I_VAPRTN_H2O_MURPHY2005), 3 (I_VAPRTN_H2O_GOFF1946),
+# 4 (I_VAPRTN_H2SO4_AYERS1980)
GASNAME: H2O H2SO4 HNO3
IGCOMP: 1 2 4
IGVAPREQ: 2 4 -1
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5b63005..8219a7e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,16 +7,27 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
+
### Added
+- in CARMA: Added 'microfast parameterization'
+- in CARMA: Added a routine to normalize dmdt (prevent gas overshoot)
+- in CARMA: Added a NULL option for vapor pressure equation
+- Added SO4REFF connectivity from CARMA to GMI
+- Added connectivity (OH, H2O2, NO3) from GMI to GOCART
+
### Removed
+
### Changed
+- in CARMA: In a few routines removed initialization of 'rc'
+- in CARMA: Changed the test for bootstrapping temperature
+
### Fixed
+
### Deprecated
## [1.15.0] - 2025-01-16
-### Added
-### Removed
+
### Changed
- The file path was changed for anthropogenic CO emissions that are used by achem. Note that the previous version of the emissions have an incorrect seasonal cycle.
@@ -27,8 +38,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updated GAAS_Gridcomp_Extdata.yaml in AMIP/ to avoid the model to crash when GAAS is turned on and AMIP emissions chosen.
-### Deprecated
-
## [1.14.0] - 2024-06-21
diff --git a/GEOS_ChemGridComp.F90 b/GEOS_ChemGridComp.F90
index f21051c..79c84d3 100644
--- a/GEOS_ChemGridComp.F90
+++ b/GEOS_ChemGridComp.F90
@@ -494,8 +494,8 @@ subroutine SetServices ( GC, RC )
endif
if(myState%enable_GMICHEM .AND. TRIM(providerName) == "CARMA") then
CALL MAPL_AddConnectivity ( GC, &
- SRC_NAME = (/ 'CARMA_SUSAREA '/), &
- DST_NAME = (/ 'SO4SAREA '/), &
+ SRC_NAME = (/ 'CARMA_SUSAREA ', 'CARMA_SUREFF '/), &
+ DST_NAME = (/ 'SO4SAREA ', 'SO4REFF '/), &
DST_ID = GMICHEM, SRC_ID = CARMA, __RC__)
endif
if(myState%enable_STRATCHEM .AND. TRIM(providerName) == "CARMA") then
@@ -667,12 +667,20 @@ subroutine SetServices ( GC, RC )
! ---------------------------------
IF(myState%enable_GMICHEM .AND. TRIM(providerName) == "GOCART2G") THEN
- IF(myState%enable_GOCART2G) &
+ IF(myState%enable_GOCART2G) THEN
CALL MAPL_AddConnectivity ( GC, &
SHORT_NAME = (/'AERO'/), &
DST_ID = GMICHEM, SRC_ID = GOCART2G, __RC__ )
+ ! ... For GOCART::SU,NI
+ ! ---------------------
+ CALL MAPL_AddConnectivity ( GC, &
+ SRC_NAME = (/ "OH ", "H2O2", "NO3 " /), &
+ DST_NAME = (/ "GMI_OH ", "GMI_H2O2", "GMI_NO3 " /), &
+ DST_ID=GOCART2G, SRC_ID=GMICHEM, __RC__)
+
+ END IF
END IF
! GOCART.data <=> GMICHEM coupling ...