Conversation
new file: cime_config/testdefs/testmods_dirs/cam/ts_slh_mam4_outfrq9s/shell_commands new file: cime_config/testdefs/testmods_dirs/cam/ts_slh_mam4_outfrq9s/user_nl_cam new file: cime_config/testdefs/testmods_dirs/cam/ts_slh_mam4_outfrq9s/user_nl_clm new file: cime_config/testdefs/testmods_dirs/cam/wa_slh_mam4_outfrq9s/shell_commands new file: cime_config/testdefs/testmods_dirs/cam/wa_slh_mam4_outfrq9s/user_nl_cam new file: cime_config/testdefs/testmods_dirs/cam/wa_slh_mam4_outfrq9s/user_nl_clm
|
From @RafaPedroFernandez (CC'd @CAlbertoCuevas): Please note that I have just made a push for 2 F90 routines in my following GIT: Which is also updated local in derecho: Routines are mo_gas_phase_chmdr.F90 Including snow in the variable makes the iodine deposition too efficient, and then we created a new array (ONLYICE) just to compute iodine wet-depositions without affecting other model developments. |
modified: src/chemistry/mozart/chemistry.F90 modified: src/chemistry/mozart/mo_gas_phase_chemdr.F90
modified: src/chemistry/mozart/mo_usrrxt.F90
cacraigucar
left a comment
There was a problem hiding this comment.
Partial review - @jimmielin will be reviewing the chemistry section of this PR. My review was on the setup side.
I noticed that there are testing use_cases setup, but I do not see any regression tests being added. Is this an oversight?
| <xs_short_file>atm/waccm/phot/xs_short_c221005mm_slh_c250930.nc</xs_short_file> | ||
| <xs_long_file >atm/waccm/phot/temp_prs_GT200nm_c221005mm_slh_c250930.nc</xs_long_file> |
There was a problem hiding this comment.
These two file still need to be "rimport"ed
| <entry id="SSAhno3_ScalingFactor" type="real" category="cam_chem" | ||
| group="slh_nl" valid_values="" > | ||
| Scaling-factor for SLH Halocarbon surface emissions | ||
| Default: set by build-namelist | ||
| </entry> | ||
|
|
||
| <entry id="SSAn2o5_ScalingFactor" type="real" category="cam_chem" | ||
| group="slh_nl" valid_values="" > | ||
| Scaling-factor for SLH Halocarbon surface emissions | ||
| Default: set by build-namelist | ||
| </entry> | ||
|
|
||
| <entry id="LIQfraprx_ScalingFactor_I" type="real" category="cam_chem" | ||
| group="slh_nl" valid_values="" > | ||
| Scaling-factor for SLH Halocarbon surface emissions | ||
| Default: set by build-namelist | ||
| </entry> | ||
|
|
||
| <entry id="ICEfraprx_ScalingFactor_I" type="real" category="cam_chem" | ||
| group="slh_nl" valid_values="" > | ||
| Scaling-factor for SLH Halocarbon surface emissions | ||
| Default: set by build-namelist | ||
| </entry> | ||
|
|
||
| <entry id="ICEfraprx_ScalingFactor_Br" type="real" category="cam_chem" | ||
| group="slh_nl" valid_values="" > | ||
| Scaling-factor for SLH Halocarbon surface emissions | ||
| Default: set by build-namelist | ||
| </entry> |
There was a problem hiding this comment.
Comments probably need updating (since they are all the same)
| <value compset="HIST_CAM60%CFIRE">1995-01-01</value> | ||
| <value compset="RCP[2468]_CAM\d+">2005-01-01</value> | ||
| <value compset="_CAM.*%NUDG" >2010-01-01</value> | ||
| <value compset="_CAM.*%NUDG" >2000-01-01</value> |
There was a problem hiding this comment.
Why is this PR changing the date for nudging runs?
| wrk(:,:) = cloy( mmr, pcols, ncol ) | ||
|
|
||
| factor(:ncol,:) = mmr(:ncol,:,id_cly) / wrk(:ncol,:) |
There was a problem hiding this comment.
Maybe a safeguard against divide by zero here if wrk(:ncol,:) are close to zero (when cloy initial conditions are very low?)
| ! call mpibcast (SLHemiss_ScalingFactor, 1, mpir8, 0, mpicom) | ||
| ! call mpibcast (ICEfraprx_ScalingFactor, 1, mpir8, 0, mpicom) | ||
| ! call mpibcast (LIQfraprx_ScalingFactor, 1, mpir8, 0, mpicom) |
There was a problem hiding this comment.
Do these also need to be broadcast?
| !rpf_CESM2_SLH | ||
| !rpf and cac: This threshold is required to aviod huge iodine emissions for low wind peed | ||
| where ( ws_mask(:ncol) < 3._r8 ) | ||
| ws_mask(:ncol) = 3._r8 | ||
| endwhere | ||
| !rpf_CESM2_SLH |
There was a problem hiding this comment.
Maybe clean up this comment a bit and fix typos:
| !rpf_CESM2_SLH | |
| !rpf and cac: This threshold is required to aviod huge iodine emissions for low wind peed | |
| where ( ws_mask(:ncol) < 3._r8 ) | |
| ws_mask(:ncol) = 3._r8 | |
| endwhere | |
| !rpf_CESM2_SLH | |
| !rpf and cac: This threshold is required to avoid huge iodine emissions for low wind speeds | |
| where ( ws_mask(:ncol) < 3._r8 ) | |
| ws_mask(:ncol) = 3._r8 | |
| endwhere |
| !!! Be CAREFULL that if SST = 0 then the division is not possible. Should it be forced to zero? | ||
| if (ocnfrac(i) == 0) then ! Actually it should be landfrac = 1 ... but we do not want to bring landfrac as an additional agrument | ||
| iodide_aq(i) = 0 | ||
| else | ||
| ! iodide_aq(i) = 1.46e6_r8 * exp( -9134._r8 / sst(i) ) * ocnfrac(i) | ||
| iodide_aq(i) = 1.46e6_r8 * exp( -9134._r8 / sst(i) ) | ||
| end if |
There was a problem hiding this comment.
Since SST is in Kelvin it shouldn't get close to zero but I would check if it is intended that iodine_aq is computed when sst is below freezing? This may be a science question
| !rpf_CESM2_SLH | ||
| implicit none | ||
| !rpf_CESM2_SLH |
There was a problem hiding this comment.
Can be removed since module is declared implicit none
| !rpf_CESM2_SLH | ||
| ! I do not include the new rid_# into ids(:) so has_strato_chem condition is not afected | ||
| !rpf_CESM2_SLH |
There was a problem hiding this comment.
The meaning of "new rid_#" will become unclear after the code is merged in, I would suggest something like
| !rpf_CESM2_SLH | |
| ! I do not include the new rid_# into ids(:) so has_strato_chem condition is not afected | |
| !rpf_CESM2_SLH | |
| ! Short-lived halogen chemistry rid_# (rid_het5_hbr to rid_nat_str_i_4) are not included into ids(:) | |
| ! so has_strato_chem condition is not affected. |
| if ( rid_slf_str_i_2 > 0 ) then | ||
| if( hclvmr > small_div .and. hoivmr > small_div ) then | ||
| ! CAC 2020 RPF START OF implmentation of the HOI + HCl(liq) = ICl + H2O Sulfate Aerosol Reaction | ||
| ! NOTE: gprob for HOI species is mapped to gprob_hobr_hcl | ||
| if ( rid_slf_str_i_2 > 0 ) then |
There was a problem hiding this comment.
The check in line 918 is a duplicate of the check in line 914 for rid_slf_str_i_2 > 0.
| if ( rid_slf_str_i_3 > 0 ) then | ||
| if( hbrvmr > small_div .and. hoivmr > small_div ) then | ||
| ! CAC 2020 RPF START OF implmentation of the HOI + HBr(liq) = IBr + H2O Sulfate Aerosol Reaction | ||
| ! NOTE: gprob for HOI species is mapped to gprob_hobr_hcl | ||
| if ( rid_slf_str_i_3 > 0 ) then |
| if ( rid_slf_str_i_4 > 0 ) then | ||
| if( hivmr > small_div .and. hoivmr > small_div ) then | ||
| ! CAC 2020 RPF START OF implmentation of the HOI + HI (liq) = I2 + H2O Sulfate Aerosol Reaction | ||
| ! NOTE: gprob for HOI species is mapped to gprob_hobr_hcl | ||
| if ( rid_slf_str_i_4 > 0 ) then |
| ! Is there a typo in the pre-exponential factor? (1.72 instead of 1.73?) Which one is correct? | ||
| ! rxt(:,k,usr_NO2XNO3_M_ndx) = rxt(:,k,tag_NO2_NO3_ndx) * 1.734138e26_r8 * exp_fac(:) | ||
| rxt(:,k,usr_NO2XNO3_M_ndx) = rxt(:,k,tag_NO2_NO3_ndx) * 1.724138e26_r8 * exp_fac(:) | ||
| !rpf_CESM2_SLH |
There was a problem hiding this comment.
This comment is leftover and should be checked for correctness
Closes #1469