geoschem / geos-chem

GEOS-Chem "Science Codebase" repository. Contains GEOS-Chem science routines, run directory generation scripts, and interface code. This repository is used as a submodule within the GCClassic and GCHP wrappers, as well as in other modeling contexts (external ESMs).
http://geos-chem.org
Other
167 stars 160 forks source link

Update the CH4 module to simulate N2O #1940

Closed lshen2009 closed 11 months ago

lshen2009 commented 1 year ago

Name and Institution (Required)

Name: Lu Shen Institution: Peking University

Confirm you have reviewed the following documentation

Description of your issue or question

Dear GCST,

I am trying to modify global_ch4_mod.F so that we can simulate N2O as well. Here, I need to compute the decay of N2O by hv and O1D. I have some difficulty in coding.

O1D + N2O = N2 + O2 : GCARR_ac(4.63d-11, 20.0d0); I can write the decay rate of N2O as KRATE = 4.63d-11_fp * EXP( 20.0_fp / State_Met%T(I,J,L)). Is there any archived O1D concentration that I can use? Or can we archive O1D?

N2O + hv = N2 + O1D : PHOTOL(36);
(1) I am not able to find the PHOTOL function from KPP. Could you help point to the right place? (2) Where can I find the hv variable? Is it archived in State_Met?

Thank you!

msulprizio commented 1 year ago

@lshen2009 We would recommend using the carbon simulation for this. That simulation has moved all of the chemistry for CH4, CO2, CO, and OCS to the carbon mechanism in KPP. This essentially replaced the need for CHEMCH4, etc. The carbon simulation can also be run with a single carbon species (i.e. just CH4). @yantosca Is working on automating that setup. Once the carbon simulation is fully validated (still in progress), the individual CH4, CO2, tagCO, etc. simulations will be retired.

lshen2009 commented 1 year ago

Thanks, Melissa. Is there a timeline for the carbon simulation? Is N2O included? @msulprizio

yantosca commented 1 year ago

Thanks @lshen2009 and @msulprizio. We hope to be able to release the carbon simulation in version 14.2.1. Note that this has only been really been evaluated for CH4 although @hannahnesser will be helping us to validate the carbon simulation for CO2. The 14.2.0/14.2.1 release has been held up by some chemistry issues that we think we have a solution for and needs to undergo another round of benchmarking.

If you want to look at the code as it is now, you can look at the bugfix/carbon-single-tracer branch. This still needs to be merged up to 14.2.1 but you'll get the idea of how it is set up.

RIght now I don't believe we have N2O in the carbon simulation as a non-advected species. You could feel free to add it via KPP. Also in GEOS-Chem 14.1.0 and later, the PHOTOL arary (which holds photolysis reaction rates) is now located in the KPP/carbon/commonIncludeVars.H file.

lshen2009 commented 1 year ago

Thanks @yantosca. I am looking forward to using the carbon simulation. For N2O, I still have one question.

For the following reaction, I can write the reaction rate as KRATE = 4.63d-11_fp * EXP( 20.0_fp / State_Met%T(I,J,L)). O1D + N2O = N2 + O2 : GCARR_ac(4.63d-11, 20.0d0);

But I don't know how to write out the reaction rate of the below reaction? Could you give me an example? N2O + hv = N2 + O1D : PHOTOL(36);

Thanks.

yantosca commented 1 year ago

Hi @lshen. Thanks for the feedback. The gas-phase rxn is no problem. For the photo-reaction:

I would take a look at what is done for the Hg simulation in GeosCore/mercury_mod.F90, as this simulation does have photolysis. That would be the blueprint to follow.

lshen2009 commented 1 year ago

Thanks @yantosca. I thought the photolysis rate was determined by radiation, so it should be provided by meteorological fields. Is my understanding correct here?

When I go to the mercury_mod.F90, I find that the photolysis rate is provided by ZPJ. Does it mean I can use ZPJ(L,id_phot_N2O,I,J)? Thanks.

         USE Cmn_FJX_Mod,    ONLY : ZPJ
         ! Instantaneous JNO2
          J_NO2 = ZPJ(L,id_phot_NO2,I,J)
         ! Get JBrO
          JBrO     = ZPJ(L,id_phot_BrO,I,J)
yantosca commented 1 year ago

HI @lshen2009. Photolysis rates are not provided by the met fields, but are computed by FAST_JX.

The ZPJ array in indeed the array of J-values within FAST-JX. However, in the versions 14.2.0/14.2.1, which will ship shortly (fingers crossed!), we have reorganized the interface of photolysis into GEOS-Chem so that we can eventually swap out FAST-JX with Cloud-J. So a lot of the USE statements from CMN_FJX_MOD.F90 will be going away soon.

Tagging @lizziel, who has been working on the updated photolysis code, who has the most up-to-date knowledge of photolysis in GEOS-Chem.

lshen2009 commented 1 year ago

Thanks @yantosca. I have two following questions. (1) Will photolysis be included in the carbon simulation? (2) It seems activating photolysis needs to rewrite a lot of codes (correct me if I am wrong here). Is there any easy way to write out the photolysis rate of N2O? Is it easier if I archive the N2O photolysis rate from a full chemistry simulation and then read the rate into N2O simulation?

yantosca commented 1 year ago

Thanks @lshen2009. You can look at the GeosCore/carbon_gases_mod.F90 and follow what is done for e.g. GLOBAL_OH. This reads OH concentrations from the prior GEOS-Chem 10-yr benchmark and there is code to grab that data from HEMCO via the routine HCO_EvalFld.

For now I do not think photolysis will be added to the carbon simulation.

lshen2009 commented 1 year ago

Thanks @yantosca for these information!

yantosca commented 11 months ago

Closing out this issue. Feel free to open a new issue.