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
163 stars 154 forks source link

Request min/max scale factors for particulate nitrate photolysis in the geoschem_input.yml file #1966

Open ktravis213 opened 10 months ago

ktravis213 commented 10 months ago

Name and Institution (Required)

Name: Katie Travis Institution: NASA Langley

New GEOS-Chem feature or discussion

Request to add in a min and max scaling factor in the geoschem_input.yml for calculating the frequency of particulate nitrate photolysis. This will allow users to easily adjust the rate in remote and urban locations without having to recompile the model, in a similar manner as is currently done for HO2 uptake, another uncertain process. This was discussed at the GCSC meeting on 9/19 with @barronh

barronh commented 10 months ago

@yantosca, @msulprizio, and @viral211 pointed me to the current capabilities. Right now

When JscaleNIT = 100 (the default), this is consistent with Viral's paper EF = max(100 * SSA / (SSA + NO3), 10).[2] The JscaleNIT and JscaleNITs are read from the yaml file, which allows the user to scale the whole range together (e.g., 10 to 100 or 5 to 50 or 100 to 1000).

Is this what you were asking for? Or were you asking to scale the min and max independently?

[1] https://github.com/geoschem/geos-chem/blob/dev/14.2.1/GeosCore/photolysis_mod.F90#L667-L688 [2] https://doi.org/10.5194/acp-23-1227-2023

barronh commented 10 months ago

I forgot to mentions that the JscaleNIT (and JscaleNITs) can be traced back via hvAerNIT_JNIT (and hvAerNIT_JNITs) to the yaml file variable NIT_Jscale_JHNO2 (and NITs_Jscale_JHNO3) in the photolyze_nitrate_aerosol subsection of the yaml.[1]

Both the NIT and NITs species photolyze to NO2 and HNO2, so I am a little confused by the name of the scaling parameter for NITs (NITs_Jscale_JHNO3).

[1] https://github.com/geoschem/geos-chem/blob/dev/14.2.1/run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.fullchem#L97-L102

yantosca commented 10 months ago

I would defer to @viral211 as for the naming scheme. I believe the YAML tags are the same names as in the code.

viral211 commented 10 months ago

I agree with @barronh, that the names of the YAML tags are confusing. It would be better to call them NITs_Jscale and NIT_Jscale since they are mapped to Input_Opt%hvAerNIT_JNITs and Input_Opt%hvAerNIT_JNIT in the code.

yantosca commented 10 months ago

Thanks @viral211 and @barronh. I can make a feature request to change those for 14.3.0. Simple update but we should do it in a feature version and not a bugfix version.

yantosca commented 2 months ago

@barronh @ktravis213: Is this issue now resolved?

barronh commented 1 month ago

@yantosca I see the change in the run https://github.com/geoschem/geos-chem/tree/main/run/GCClassic/geoschem_config.yml.templates, so I suspect that it is. I haven't run this version, but I assume it works.