From b48ea0ba906e37be13d3c3c7313d9bf3ef05a8a1 Mon Sep 17 00:00:00 2001 From: Peter Colarco Date: Fri, 16 Feb 2024 16:41:54 -0500 Subject: [PATCH 1/8] prc: add hooks to pass timescale of hydrophobic-to-hydrophilic conversion to resource file; add hooks for ad hoc chemical loss mechanism per tracer; update emissions under AMIP (only) --- .../AMIP/CA2G_GridComp_ExtData.rc | 4 +- .../AMIP/CA2G_GridComp_ExtData.yaml | 8 +- .../CA2G_GridComp/CA2G_GridCompMod.F90 | 25 +++++- .../CA2G_GridComp/CA2G_StateSpecs.rc | 1 + .../CA2G_GridComp/CA2G_instance_CA.bc.rc | 6 ++ .../CA2G_GridComp/CA2G_instance_CA.br.rc | 6 ++ .../CA2G_GridComp/CA2G_instance_CA.oc.rc | 6 ++ Process_Library/GOCART2G_Process.F90 | 83 +++++++++++++++++-- 8 files changed, 125 insertions(+), 14 deletions(-) diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.rc b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.rc index 43ed7284..286de458 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.rc +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.rc @@ -75,7 +75,7 @@ pSOA_ANTHRO_VOC NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null # BLACK CARBON # ------------ # QFED v2.x -BC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none 0.778 biomass ExtData/chemistry/QFED/v2.6r1/sfc/0.1/Y%y4/M%m2/qfed2.emis_bc.061.%y4%m2%d2.nc4 +BC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none 0.9 biomass ExtData/chemistry/QFED/v2.6r1/sfc/0.1/Y%y4/M%m2/qfed2.emis_bc.061.%y4%m2%d2.nc4 # Biofuel Source -- Included in AeroCom anthropogenic emissions BC_BIOFUEL NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null @@ -99,7 +99,7 @@ BC_AVIATION_CRS NA Y Y %y4-%m2-%d2t12:00:00 none none bc_aviation /dev/null # BROWN CARBON # ------------ # Biomass burning -- QFED-v2.x -BRC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none 0.778 biomass ExtData/chemistry/QFED/v2.6r1/sfc/0.1/Y%y4/M%m2/qfed2.emis_oc.061.%y4%m2%d2.nc4 +BRC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none 1.25 biomass ExtData/chemistry/QFED/v2.6r1/sfc/0.1/Y%y4/M%m2/qfed2.emis_oc.061.%y4%m2%d2.nc4 # Terpene emission BRC_TERPENE NA Y Y %y4-%m2-%d2t12:00:00 none none terpene /dev/null diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml index c25be12c..f3b45f44 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml @@ -81,8 +81,8 @@ Exports: sample: CA2G_sample_2 variable: biofuel BC_BIOMASS: - - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_bc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} - - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_bc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_bc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.9], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_bc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.9], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} BC_SHIP: collection: CA2G_BC-em-anthro_CMIP_CEDS_gn_shipping.x2304_y1441_t12.%y4.nc4 regrid: CONSERVE @@ -124,8 +124,8 @@ Exports: sample: CA2G_sample_2 variable: biofuel BRC_BIOMASS: - - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_oc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} - - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_oc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_oc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 1.25], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_oc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 1.25], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} BRC_SHIP: collection: /dev/null regrid: CONSERVE diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_GridCompMod.F90 b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_GridCompMod.F90 index 9e66db2b..60a355db 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_GridCompMod.F90 +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_GridCompMod.F90 @@ -54,6 +54,8 @@ module CA2G_GridCompMod real :: fMonoterpenes = 0.0 ! Fraction of monoterpene emissions -> aerosol real :: fIsoprene = 0.0 ! Franction of isoprene emissions -> aerosol real :: fHydrophobic ! Initially hydrophobic portion + real :: tConvPhobicToPhilic ! e-folding time [days] hydrophobic to hydrophilic + real :: tChemLoss(2) ! e-folding time [days] for parameterized chemistry loss logical :: diurnal_bb ! diurnal biomass burning real :: eAircraftfuel ! Aircraft emission factor: go from kg fuel to kg C real :: aviation_layers(4) ! heights of the LTO, CDS and CRS layers @@ -162,6 +164,12 @@ subroutine SetServices (GC, RC) ! ---------------------------------------------- call ESMF_ConfigGetAttribute (cfg, self%myDOW, label='my_day_of_week:', default=-1, __RC__) call ESMF_ConfigGetAttribute (cfg, self%fhydrophobic, label='hydrophobic_fraction:', __RC__) + call ESMF_ConfigGetAttribute (cfg, self%tConvPhobicToPhilic, & + label='time_days_hydrophobic_to_hydrophilic:', default=2.5, __RC__) + call ESMF_ConfigFindLabel (cfg, 'time_days_chemical_destruction:', __RC__) + do i=1,size(self%tChemLoss) + call ESMF_ConfigGetAttribute (cfg, self%tChemLoss(i), default=-1., __RC__) + end do call ESMF_ConfigGetAttribute (cfg, self%ratPOM, label='pom_ca_ratio:', default=1.0, __RC__) call ESMF_ConfigGetAttribute (cfg, self%fMonoterpenes, label='monoterpenes_emission_fraction:', default=0.0, __RC__) call ESMF_ConfigGetAttribute (cfg, self%fIsoprene, label='isoprene_emission_fraction:', default=0.0, __RC__) @@ -996,9 +1004,20 @@ subroutine Run2 (GC, import, export, clock, RC) end if ! Ad Hoc transfer of hydrophobic to hydrophilic aerosols -! Following Chin's parameterization, the rate constant is -! k = 4.63e-6 s-1 (.4 day-1; e-folding time = 2.5 days) - call phobicTophilic (intPtr_phobic, intPtr_philic, HYPHIL, self%km, self%cdt, MAPL_GRAV, delp, __RC__) +! Rate controlled in RC file; tConvPhobicToPhilic < 0 means no transfer + call phobicToPhilic (intPtr_phobic, intPtr_philic, HYPHIL, & + self%tConvPhobicToPhilic, self%km, self%cdt, MAPL_GRAV, delp, __RC__) + +! Ad Hoc chemical destruction of carbon +! This applies a simple exponential decay to both hydrophobic and +! hydrophilic modes with the time constant tChemLoss (e-folding +! time in days) + do n = 1, self%nbins + call MAPL_VarSpecGet(InternalSpec(n), SHORT_NAME=short_name, __RC__) + call MAPL_GetPointer(internal, NAME=short_name, ptr=int_ptr, __RC__) + call carbonChemLoss (self%km, self%klid, n, self%cdt, MAPL_GRAV, delp, & + self%tChemLoss(n), int_ptr, CH, __RC__) + end do ! CA Settling ! ----------- diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_StateSpecs.rc b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_StateSpecs.rc index de20e655..e8b3a5ea 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_StateSpecs.rc +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_StateSpecs.rc @@ -89,6 +89,7 @@ category: EXPORT *DP | kg m-2 s-1 | xy | N | nbins | * Aerosol Dry Deposition (Bin %d) *WT | kg m-2 s-1 | xy | N | nbins | * Aerosol Wet Deposition (Bin %d) *SV | kg m-2 s-1 | xy | N | nbins | * Aerosol Convective Scavenging (Bin %d) + *CH | kg m-2 s-1 | xy | N | nbins | * Aerosol Parameterized Chemical Loss (Bin %d) *EMAN | kg m-2 s-1 | xy | N | | * Aerosol Anthropogenic Emissions *EMBB | kg m-2 s-1 | xy | N | | * Aerosol Biomass Burning Emissions *EMBF | kg m-2 s-1 | xy | N | | * Aerosol Biofuel Emissions diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.bc.rc b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.bc.rc index e39a970e..70cd2418 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.bc.rc +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.bc.rc @@ -14,6 +14,12 @@ aviation_vertical_layers: 0.0 100.0 9.0e3 10.0e3 # Initially hydrophobic portion hydrophobic_fraction: 0.8 +# Rate of conversion of hydrophobic to hydrophilic [days] +time_days_hydrophobic_to_hydrophilic: 2.5 + +# Rate of chemical destruction of carbon species [days] +time_days_chemical_destruction: -1. -1. + # Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) fscav: 0.0 0.4 diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.br.rc b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.br.rc index 7f333ffa..5ab08b0f 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.br.rc +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.br.rc @@ -22,6 +22,12 @@ rhFlag: 0 # Initially hydrophobic portion hydrophobic_fraction: 0.5 +# Rate of conversion of hydrophobic to hydrophilic [days] +time_days_hydrophobic_to_hydrophilic: 2.5 + +# Rate of chemical destruction of carbon species [days] +time_days_chemical_destruction: -1. 6.0 + # Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) fscav: 0.0 0.4 diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.oc.rc b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.oc.rc index 741d6bfd..0d461044 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.oc.rc +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.oc.rc @@ -26,6 +26,12 @@ rhFlag: 0 # Initially hydrophobic portion hydrophobic_fraction: 0.5 +# Rate of conversion of hydrophobic to hydrophilic [days] +time_days_hydrophobic_to_hydrophilic: 2.5 + +# Rate of chemical destruction of carbon species [days] +time_days_chemical_destruction: -1. -1. + # Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) fscav: 0.0 0.4 diff --git a/Process_Library/GOCART2G_Process.F90 b/Process_Library/GOCART2G_Process.F90 index 6892082c..877c22b5 100644 --- a/Process_Library/GOCART2G_Process.F90 +++ b/Process_Library/GOCART2G_Process.F90 @@ -50,7 +50,8 @@ module GOCART2G_Process public wetRadius public hoppelCorrection public CAEmission - public phobicTophilic + public phobicToPhilic + public carbonChemLoss public NIheterogenousChem public SulfateDistributeEmissions public DMSemission @@ -4692,16 +4693,17 @@ end subroutine distribute_aviation_emissions !BOP ! -! !IROUTINE: phobicTophilic +! !IROUTINE: phobicToPhilic ! ! !INTERFACE: subroutine phobicTophilic (aerosol_phobic, aerosol_philic, aerosol_toHydrophilic, & - km, cdt, grav, delp, rc) + tConvPhobicToPhilic, km, cdt, grav, delp, rc) ! !USES: implicit NONE ! !INPUT PARAMETERS: + real, intent(in) :: tConvPhobicToPhilic ! e-folding time in days to transfer integer, intent(in) :: km ! total model level real, intent(in) :: cdt ! chemistry model time-step [sec] real, intent(in) :: grav ! [m/sec^2] @@ -4716,7 +4718,7 @@ subroutine phobicTophilic (aerosol_phobic, aerosol_philic, aerosol_toHydrophilic ! !Local Variables integer :: i, j, k - real :: qUpdate, delq + real :: qUpdate, delq, ts !EOP !------------------------------------------------------------------------------------ @@ -4724,10 +4726,17 @@ subroutine phobicTophilic (aerosol_phobic, aerosol_philic, aerosol_toHydrophilic if(associated(aerosol_toHydrophilic)) aerosol_toHydrophilic = 0.0 +! tConvPhobicToPhilic is the e-folding time (in days) of the conversion +! If < 0 no conversion is desired; exit the subroutine + if(tConvPhobicToPhilic < 0) then + __RETURN__(__SUCCESS__) + endif + ts = tConvPhobicToPhilic*86400. + do k = 1, km do j = 1, ubound(delp, 2) do i = 1, ubound(delp, 1) - qUpdate = aerosol_phobic(i,j,k)*exp(-4.63e-6*cdt) + qUpdate = aerosol_phobic(i,j,k)*exp(-cdt/ts) qUpdate = max(qUpdate,1.e-32) delq = max(0.,aerosol_phobic(i,j,k)-qUpdate) aerosol_phobic(i,j,k) = qUpdate @@ -4742,6 +4751,70 @@ subroutine phobicTophilic (aerosol_phobic, aerosol_philic, aerosol_toHydrophilic __RETURN__(__SUCCESS__) end subroutine phobicTophilic +!============================================================================ +!BOP +! +! !IROUTINE: carbonChemLoss +! +! !INTERFACE: + subroutine carbonChemLoss (km, klid, n, cdt, grav, delp, & + tChemLoss, int_qa, fluxout, rc) + +! !USES: + implicit NONE + +! !INPUT PARAMETERS: + real, intent(in) :: tChemLoss ! e-folding loss time [days] + integer, intent(in) :: km ! total model levels + integer, intent(in) :: klid ! index for pressure lid + integer, intent(in) :: n ! bin index number + real, intent(in) :: cdt ! time step [s] + real, intent(in) :: grav ! acceleration of gravity [m/sec^2] + real, dimension(:,:,:), intent(inout) :: int_qa ! aerosol [kg/kg] + real, pointer, dimension(:,:,:), intent(in) :: delp ! pressure level thickness [Pa] + +! !OUTPUT PARAMETERS: + + real, pointer, dimension(:,:,:), intent(inout) :: fluxout ! Mass lost by chemistry [kg/m^2/s] + integer, optional, intent(out) :: rc ! Error return code: + ! 0 - all is well + ! 1 - + +! !Local Variables + integer :: i, j, k + real :: qUpdate, delq, ts + +!EOP +!------------------------------------------------------------------------------------ +! Begin... + + if(associated(fluxout)) fluxout(:,:,n) = 0.0 + +! tChemLoss is the e-folding time (in days) of parameterized chemistry loss +! If < 0 no loss is desired; exit the subroutine + if(tChemLoss < 0) then + __RETURN__(__SUCCESS__) + endif + ts = tChemLoss*86400. + + do k = klid, km + do j = 1, ubound(delp, 2) + do i = 1, ubound(delp, 1) + qUpdate = int_qa(i,j,k)*exp(-cdt/ts) + qUpdate = max(qUpdate,1.e-32) + delq = max(0.,int_qa(i,j,k)-qUpdate) + int_qa(i,j,k) = qUpdate + if(associated(fluxout)) & + fluxout(i,j,n) = fluxout(i,j,n) & + + delq*delp(i,j,k)/grav/cdt + + end do + end do + end do + + __RETURN__(__SUCCESS__) + end subroutine carbonChemLoss + !============================================================================ !BOP From 5e35d2c7c85e2670bd4d0a430b69fcba474c669c Mon Sep 17 00:00:00 2001 From: Peter Colarco Date: Mon, 4 Mar 2024 11:43:47 -0500 Subject: [PATCH 2/8] prc: revert to no loss time loss of OA by default --- .../CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml | 8 ++++---- .../CA2G_GridComp/CA2G_instance_CA.br.rc | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml index f3b45f44..c25be12c 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml @@ -81,8 +81,8 @@ Exports: sample: CA2G_sample_2 variable: biofuel BC_BIOMASS: - - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_bc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.9], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} - - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_bc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.9], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_bc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_bc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} BC_SHIP: collection: CA2G_BC-em-anthro_CMIP_CEDS_gn_shipping.x2304_y1441_t12.%y4.nc4 regrid: CONSERVE @@ -124,8 +124,8 @@ Exports: sample: CA2G_sample_2 variable: biofuel BRC_BIOMASS: - - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_oc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 1.25], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} - - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_oc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 1.25], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_oc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_oc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} BRC_SHIP: collection: /dev/null regrid: CONSERVE diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.br.rc b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.br.rc index 5ab08b0f..b1e27020 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.br.rc +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_instance_CA.br.rc @@ -26,7 +26,7 @@ hydrophobic_fraction: 0.5 time_days_hydrophobic_to_hydrophilic: 2.5 # Rate of chemical destruction of carbon species [days] -time_days_chemical_destruction: -1. 6.0 +time_days_chemical_destruction: -1. -1. # Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) fscav: 0.0 0.4 From 8ac54ba69620cd95a8978ab6762bec19ecc67efd Mon Sep 17 00:00:00 2001 From: Peter Colarco Date: Mon, 4 Mar 2024 11:55:15 -0500 Subject: [PATCH 3/8] prc: update ChangeLog --- CHANGELOG.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 729db7cb..9fd6f7e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +## [feature/pcolarco/CarbonChemLossUpd] - 2024-03-04 + +### Changes +- It changes the formulation of the hydrophobic to hydrophilic conversion for carbon species, +now defined by a time scale specified in the instance RC file. This is now specified by providing +an e-folding time in days. This moves the time constant from outside the fortran to the run-time +configurable RC file. This is not quite zero-diff with original code because of the precision of +the specification, but testing shows nearly zero-diff result. + +- Also now present in the carbon instance RC files is a run-time configurable optional +parameterized loss rate (e-folding time in days) per species and per mode. Default value for all is +set to "-1" which means no use of this function. It has been tested separately for hydrophilic +brown carbon (-1 6.0) which favorably improves OA:BC ratio for southern African biomass burning. +This requires additional rescaling of BB emissions (increase scaling from 0.778->0.9 for BC and +0.778->1.25 for BR) to compensate for increased loss (in second case) and to improve simulation of +BC (in first case). This requires further testing before recommending configuration changes, but as +defined in default it is zero-diff. + + + ## [#263] - 2024-02-02 ### Changed From efa883644f51bd64294d1a332c1f2d411e653661 Mon Sep 17 00:00:00 2001 From: zmoon Date: Tue, 20 Aug 2024 19:59:30 -0500 Subject: [PATCH 4/8] k should be integer --- Process_Library/GOCART2G_Process.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Process_Library/GOCART2G_Process.F90 b/Process_Library/GOCART2G_Process.F90 index 6892082c..2973f127 100644 --- a/Process_Library/GOCART2G_Process.F90 +++ b/Process_Library/GOCART2G_Process.F90 @@ -5714,11 +5714,11 @@ subroutine SUvolcanicEmissions (nVolc, vStart, vEnd, vSO2, vElev, vCloud, iPoint ! 22July2020 E.Sherman ! ! !Local Variables - integer :: i, j, it + integer :: i, j, k, it real, dimension(:,:,:), allocatable :: emissions_point real :: so2volcano - real :: hup, hlow, dzvolc, dz, z1, k + real :: hup, hlow, dzvolc, dz, z1 real :: deltaSO2v real, dimension(:,:), allocatable :: z0 real, allocatable, dimension(:,:) :: srcSO2volc From 30aebc0b58b14e6828065a5cd0068239221cb67b Mon Sep 17 00:00:00 2001 From: Zachary Moon Date: Fri, 20 Sep 2024 13:40:51 -0400 Subject: [PATCH 5/8] Add changelog item --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 975fc501..4d457f5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Corrected the units of the gravimetric soil moisture to percent instead of fractional in the FENGSHA dust scheme. - Fix issue of GOCART/GEOSgcm circular CMake dependencies when used as external project - Fix UFS/Standalone CMake issue +- Fix type of `k` in `SUvolcanicEmissions` ### Added From 88f4a3ad595236a7a95330103882f5e71734627e Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Mon, 23 Sep 2024 11:44:34 -0400 Subject: [PATCH 6/8] Restore missing yaml changes --- .../CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml index 3a2b9589..3209ad97 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml @@ -89,8 +89,8 @@ Exports: sample: CA2G_sample_2 variable: biofuel BC_BIOMASS: - - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_bc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} - - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_bc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_bc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.9], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_bc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.9], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} BC_SHIP: - {starting: "1979-01-15T12:00", collection: CA2G_BC-em-anthro_CMIP_CEDS_gn_shipping.x2304_y1441_t12.%y4.nc4, sample: CA2G_sample_1, regrid: CONSERVE, variable: bc_shipping} - {starting: "2019-12-15T12:00", collection: CA2G_BC-em-anthro_CMIP_CEDS_gn_shipping.x2304_y1441_t12.%y4.nc4, regrid: CONSERVE, sample: CA2G_sample_3, variable: bc_shipping} @@ -130,8 +130,8 @@ Exports: sample: CA2G_sample_2 variable: biofuel BRC_BIOMASS: - - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_oc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} - - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_oc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_oc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 1.25], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_oc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 1.25], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} BRC_SHIP: collection: /dev/null regrid: CONSERVE From c7240f99449577131a7502a40374714892fcec8a Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Mon, 23 Sep 2024 11:47:17 -0400 Subject: [PATCH 7/8] Unrestore missing yaml changes as Pete did as well --- .../CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml index 3209ad97..3a2b9589 100644 --- a/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml +++ b/ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP/CA2G_GridComp_ExtData.yaml @@ -89,8 +89,8 @@ Exports: sample: CA2G_sample_2 variable: biofuel BC_BIOMASS: - - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_bc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.9], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} - - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_bc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.9], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_bc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_bc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} BC_SHIP: - {starting: "1979-01-15T12:00", collection: CA2G_BC-em-anthro_CMIP_CEDS_gn_shipping.x2304_y1441_t12.%y4.nc4, sample: CA2G_sample_1, regrid: CONSERVE, variable: bc_shipping} - {starting: "2019-12-15T12:00", collection: CA2G_BC-em-anthro_CMIP_CEDS_gn_shipping.x2304_y1441_t12.%y4.nc4, regrid: CONSERVE, sample: CA2G_sample_3, variable: bc_shipping} @@ -130,8 +130,8 @@ Exports: sample: CA2G_sample_2 variable: biofuel BRC_BIOMASS: - - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_oc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 1.25], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} - - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_oc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 1.25], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "1960-01-16T12:00", collection: CA2G_hfed.emis_oc.x576_y361.%y4%m2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} + - {starting: "2000-03-01T00:00", collection: CA2G_qfed2.emis_oc.061.%y4%m2%d2.nc4, linear_transformation: [0.0, 0.778], regrid: CONSERVE, sample: CA2G_sample_1, variable: biomass} BRC_SHIP: collection: /dev/null regrid: CONSERVE From 3b5e0ac5a0115bf0b79d6e5f0f03f2c5bbbfcda9 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Mon, 23 Sep 2024 11:50:25 -0400 Subject: [PATCH 8/8] Remove changelog lines about brown carbon --- CHANGELOG.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21174832..0897f394 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,12 +24,7 @@ the specification, but testing shows nearly zero-diff result. - Also now present in the carbon instance RC files is a run-time configurable optional parameterized loss rate (e-folding time in days) per species and per mode. Default value for all is -set to "-1" which means no use of this function. It has been tested separately for hydrophilic -brown carbon (-1 6.0) which favorably improves OA:BC ratio for southern African biomass burning. -This requires additional rescaling of BB emissions (increase scaling from 0.778->0.9 for BC and -0.778->1.25 for BR) to compensate for increased loss (in second case) and to improve simulation of -BC (in first case). This requires further testing before recommending configuration changes, but as -defined in default it is zero-diff. +set to "-1" which means no use of this function. ### Fixed