Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds MAM4xx microphysics interface #3013

Open
wants to merge 156 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
f616a15
First working version of the test: still commented out a lot of code
singhbalwinder Jun 30, 2024
9f5989d
Adds p_int to fix atmosphere_for_column call for getting atm object
singhbalwinder Jul 1, 2024
724f4b5
A working version with commentted out function calls
singhbalwinder Jul 1, 2024
7c578da
microphysics - Read one variable using Atm input.
odiazib Jul 3, 2024
f29d170
linoz_reader - vertical interpolation
odiazib Jul 13, 2024
192a792
linoz_reader - vertical interpolation working.
odiazib Jul 13, 2024
cabbcfc
linoz_reader - using vertical interpolation from eam.
odiazib Jul 13, 2024
6ba749e
linoz_reader - update date inside in run.
odiazib Jul 13, 2024
7fea338
linoz_reader - perform_time_interpolation
odiazib Jul 13, 2024
58af11c
linoz_reader - Setting linoz data structs.
odiazib Jul 14, 2024
405be6a
linoz_reader - performing time interpolation.
odiazib Jul 14, 2024
3a4b34a
linoz_reader - Using LinozData in vertical interpolation function.
odiazib Jul 14, 2024
5e9e6af
linoz_reader- Removing deep_copy_data_views from linoz data struct.
odiazib Jul 14, 2024
42f8494
linoz_reader - Getting constat from linoz data structs.
odiazib Jul 14, 2024
3b4e1c0
linoz_reader - 1. Using LinozData in perform_horizontal_interpolation.
odiazib Jul 14, 2024
7ea94ef
linoz_reader- Using ivar in perform_horizontal_interpolation.
odiazib Jul 14, 2024
a613c6f
linoz_reader- Consider using arrays of views instead of std::vector<v…
odiazib Jul 14, 2024
467c168
linoz_reader - Adding arrays of views for variables, latitudes, and l…
odiazib Jul 14, 2024
efdbf02
linoz_reader - Allocate views of LinozReaderParams in
odiazib Jul 14, 2024
56cbf6c
linoz_data - NVARS_LINOZ
odiazib Jul 14, 2024
a8776ce
Linoz_reader - Adding o3col_clim.
odiazib Jul 14, 2024
e72a20b
Linoz_reader - Linoz reader is working.
odiazib Jul 14, 2024
cc11e14
Linoz_reader - Adding linoz_cariolle_pscs.
odiazib Jul 14, 2024
c0ea947
Linoz_reader - Removing old code.
odiazib Jul 14, 2024
c7a0122
Linoz_reader. Units
odiazib Jul 15, 2024
472b881
Linoz_reader - Using inline
odiazib Jul 15, 2024
7eadcd5
linoz_reader - Comment.
odiazib Jul 15, 2024
8dc757f
Linoz_reader - Fixing warning. Calling host function from device.
odiazib Jul 15, 2024
0252840
linoz_reader - minor.
odiazib Jul 15, 2024
755d8a9
Linoz_reader - Getting linoz file name from namelist
odiazib Jul 15, 2024
d8f2174
linoz_reader - chlorine_loading reader is working.
odiazib Jul 16, 2024
3b21405
Linoz_reader - Getting inputs for chlorine_loading from namelist.
odiazib Jul 16, 2024
0aba613
linoz_reader - lin_strat_chem_solve_kk should work.
odiazib Jul 16, 2024
e548406
photo_table_reader-Getting photo table from namelist and using screa…
odiazib Jul 19, 2024
9691fbc
microphysics - Fixing photo table work arrays. Using a mam4xx branch …
odiazib Jul 19, 2024
6325056
microphysics- Computing liquid water cloud content.
odiazib Jul 19, 2024
6f5165e
microphysics - Adding photo table paths to input file.
odiazib Jul 19, 2024
27c4899
microphysics - Photo table function call is working. Updating mam4xx
odiazib Jul 19, 2024
e83c969
microphysics - reader for tracers.
odiazib Jul 23, 2024
c7e49ca
microphysics - time interpolation.
odiazib Jul 23, 2024
4de980b
microphysics - updating nc file name.
odiazib Jul 23, 2024
b1ccd7a
microphysics - Using array of views instead of std::vector<view>.
odiazib Jul 23, 2024
c22a853
microphysics - Creating TracerData.
odiazib Jul 24, 2024
64b2f7e
microphysics - Adding perform_vertical_interpolation.
odiazib Jul 24, 2024
097ccd8
microphysics - Adding time interpolation for ps and pressure
odiazib Jul 24, 2024
1f579db
microphysics - Using vertical interpolation.
odiazib Jul 25, 2024
25e03f7
microphysics - Creating advance_tracer_data function call.
odiazib Jul 25, 2024
7909f3a
microphysics - I have commented out the function calls that produce F…
odiazib Jul 25, 2024
25a8404
microphysics - Delete linoz reader from *.cpp and *.hpp.
odiazib Jul 25, 2024
3c0be8b
microphysics - Reading and interpolating Linoz files using the tracer…
odiazib Jul 26, 2024
be177cd
microphysics - Computing source pressure for zonal files (Linoz files)
odiazib Jul 26, 2024
1ffe3a3
microphysics - The Linoz reader is working, i.e., at least it is not …
odiazib Jul 26, 2024
a9e3517
microphysics - Deleting old code.
odiazib Jul 26, 2024
9914d73
microphysics - Deleting duplicate code.
odiazib Jul 26, 2024
c42c3c9
microphysics - Renaming LinozTimeState to TracerTimeState.
odiazib Jul 26, 2024
0d3cba5
microphysics - Comment about MAX_NVARS_TRACER.
odiazib Jul 26, 2024
a65acaa
microphysics - comments.
odiazib Jul 26, 2024
f96147d
microphysics - Getting file names from namelist.
odiazib Jul 26, 2024
648fe4f
microphysics - Commenting out table code. Adding reader for vertical …
odiazib Jul 27, 2024
6ac846c
microphysics - Adding tracer file type.
odiazib Jul 27, 2024
001fcab
microphysics - Tracer reader is working for vertical emission, but we
odiazib Jul 27, 2024
843b7e9
microphysics - reader for vertical emission using two files.
odiazib Jul 28, 2024
dd38394
microphysics - Getting file name of vertical emission from namelist.
odiazib Jul 28, 2024
45d077f
fix issue in copying progs related to cloudborne aerosols, assign lwc…
mingxuanwupnnl Jul 8, 2024
f5d5164
add code to compute orbital parameters, and change CMake file to use …
mingxuanwupnnl Jul 18, 2024
59f5478
remove code related to external forcing (elevated emissions)
mingxuanwupnnl Jul 18, 2024
defe4bf
change path for shr_orb_mod_c2f.F90
mingxuanwupnnl Jul 19, 2024
f40ca58
add code to calculate zeith_angle, surf_albedo, and eccf
mingxuanwupnnl Jul 22, 2024
d2153aa
remove code for lwc, only keep one hookup method
mingxuanwupnnl Jul 22, 2024
1e6a6d1
uncomment functions and fix temp input for amiphys_intr
mingxuanwupnnl Jul 23, 2024
54e9d36
invoke setinv and only call it once in icol loop
mingxuanwupnnl Jul 25, 2024
43d55f6
Model compiles and runs on Compy with commented out codes
singhbalwinder Aug 18, 2024
c5957d7
Rebases and make changes so that model compiles and runs
singhbalwinder Aug 19, 2024
188281c
Clang format
singhbalwinder Aug 19, 2024
80b3b9c
Adds a cime test-not working as inp file resolution is not ne4pg2
singhbalwinder Aug 19, 2024
b68e714
add elevated emission forcing back
mingxuanwupnnl Aug 19, 2024
44757d9
reset view for cnst_offline_icol, uncomment variables and functions
mingxuanwupnnl Aug 19, 2024
0142a3d
Using hard coded values for etfphot. Adding haero to abs.
odiazib Aug 19, 2024
47a751c
Adding back table_photo computations.
odiazib Aug 19, 2024
1cb8fe5
Unable compute_water_content and modal_aero_amicphys_intr.
odiazib Aug 19, 2024
9fc1f1d
Using mam4::utils::extract_stateq_from_prognostics in compute_water_…
odiazib Aug 19, 2024
da00793
Use functions from mam4::utils to transfer data from prog to temp arr…
odiazib Aug 20, 2024
2a53db7
Using more than one field in the vertical emission reader.
odiazib Aug 20, 2024
f21d10a
Adding vertical emission files.
odiazib Aug 21, 2024
d6063e2
Fixing order of forcing files.
odiazib Aug 21, 2024
52f71d9
Coupling external forcing.
odiazib Aug 22, 2024
9d6982d
Removing hard-coded file names.
odiazib Aug 22, 2024
a18d305
Removing hard-coded parameters.
odiazib Aug 23, 2024
9c47d5c
Fixing compilation errors.
odiazib Aug 23, 2024
b4e823e
Fixing typo.
odiazib Aug 23, 2024
a3ef1ff
Fixes files and paths for the microphysics cime and standalone tests
singhbalwinder Aug 23, 2024
fb8e0b3
Changes file paths to match new directory structure, changes file nam…
singhbalwinder Aug 23, 2024
5ba849f
Get nc files for single-process tests.
odiazib Aug 27, 2024
bb6728f
Chaning vertical interpolation function.
odiazib Aug 27, 2024
fd7ffcc
The Fortran version of MAM4 uses a cyclical method to read data from …
odiazib Aug 30, 2024
84df644
Comments.
odiazib Aug 30, 2024
59f38ae
Initialize array.
odiazib Aug 30, 2024
7154978
Fix species order in array of constant invariants.
odiazib Aug 30, 2024
b0f65c5
Use a list of species names to ensure that the order of species in ve…
odiazib Aug 30, 2024
30fb015
1. Use the Scorpio interface to get altitude from vertical emission f…
odiazib Aug 30, 2024
d7fef87
Adding a few comments.
odiazib Aug 30, 2024
b1ed00b
Remove vert_emis_altitude_int_ variable.
odiazib Aug 30, 2024
e761432
Remove unused input from update_tracer_data_from_file.
odiazib Aug 30, 2024
45ce30e
Adding comments.
odiazib Aug 30, 2024
6e0dbe0
Use .data() to avoid copying data.
odiazib Aug 30, 2024
dd73cb1
Fixing units in MW.
odiazib Aug 30, 2024
1ca6032
Updating name of mam4_oxid_file_name.
odiazib Aug 30, 2024
aa64dc8
Updates to compute_water_content and remove it from interface.
odiazib Aug 30, 2024
854e951
Retrieve dgncur_a, dgncur_awet, wetdens, and qaerwat from FM
odiazib Aug 30, 2024
e3f3425
Fixing a few FIXMEs.
odiazib Aug 30, 2024
8b68820
remove old code.
odiazib Aug 30, 2024
7f442da
Removing one duplicated line.
odiazib Aug 30, 2024
665fe96
Adding KOKKOS_INLINE_FUNCTION
odiazib Aug 31, 2024
8ea890a
Using one data structure to store beginning, end, and output data sets.
odiazib Sep 2, 2024
fd372b1
Refactor: move allocation of views from the tracer data struct interf…
odiazib Sep 2, 2024
c0cfada
Delete old code.
odiazib Sep 2, 2024
f3cbbfb
fixing warning.
odiazib Sep 2, 2024
9f0ef4e
Fixing warnings and removing hard-coded variables.
odiazib Sep 2, 2024
09ac325
Making copies of clsmap_4 and permute_4 to fix undefined arrays on th…
odiazib Sep 4, 2024
d426582
Using mam4::utils::extract_stateq_from_prognostics to copy data from …
odiazib Sep 4, 2024
45d9d33
Removing old code.
odiazib Sep 4, 2024
2c1d8b8
Removing unused code.
odiazib Sep 4, 2024
44d2d43
shr_orb_cosz_c2f is fortran routine.
odiazib Sep 4, 2024
cc7b5c7
Kokkos::fence()
odiazib Sep 5, 2024
1494f92
Minor.
odiazib Sep 5, 2024
56765fd
Adding comment.
odiazib Sep 5, 2024
6a7b930
Removing unused variable.
odiazib Sep 5, 2024
e7b8185
Save Fields from Tracer Reader to Field Manager
odiazib Sep 18, 2024
d27a226
Modifying name of preprocessor definition and updating comments.
odiazib Sep 19, 2024
5354ef3
Fixing bug; missing index convertion.
odiazib Sep 25, 2024
ef2dcb8
Using mingxuanwupnnl/eamxx_mam_microphys_for_mamxx
odiazib Sep 25, 2024
10c5465
Fixing file name.
odiazib Sep 25, 2024
8d698da
Update mam4xx.
odiazib Oct 1, 2024
85054ca
Cleans up gas phase chemisrty code- code compiles file with all the c…
singhbalwinder Oct 5, 2024
c48114c
Code runs fine with commenting out ext forc and linoz
singhbalwinder Oct 5, 2024
2852cb1
Gas phase chemistry done- reverted some commented out code
singhbalwinder Oct 5, 2024
72be9b3
Setsox validated
singhbalwinder Oct 5, 2024
71e2ee0
Using mam4::vertical_interpolation::vert_interp.
odiazib Oct 6, 2024
28d4814
Using mam4::vertical_interpolation::rebin
odiazib Oct 6, 2024
42edd9c
A working amicphys code
singhbalwinder Oct 8, 2024
06363e1
Cleaned up the print statements
singhbalwinder Oct 8, 2024
0a31174
Adds emissions file for ne4pg2, removes qaerwat from the input.yaml f…
singhbalwinder Oct 9, 2024
d66bf1c
Changes dgncur_a to dgnum to match namelist entry
singhbalwinder Oct 9, 2024
1e48dd2
add files for ne30 elevated emissions
singhbalwinder Oct 9, 2024
c41e19c
Replaces dgncur_a to dgnum in input.yaml, fixes file paths for ne30 e…
singhbalwinder Oct 9, 2024
13d82fd
Adds ne30pg2 linoz and oxid files
singhbalwinder Oct 9, 2024
50247f8
Fixes copy and assign functions for GNU compiler
singhbalwinder Oct 9, 2024
1f6991c
clang format
singhbalwinder Oct 9, 2024
e0643f6
Cleans interface hpp file to remove unused variables
singhbalwinder Oct 10, 2024
c8e963a
Update the mam4xx submodule to point to main
singhbalwinder Oct 10, 2024
04132e8
Fixes a bug with GNU and ne4 sim on PM GNU
singhbalwinder Oct 11, 2024
dac5eb8
Adds linoz src sink function and namelist variables plus code cleanup
singhbalwinder Oct 12, 2024
6fb4b32
Swaps linoz and oxid file ordering so that the right file is picked i…
singhbalwinder Oct 12, 2024
1437d21
Changes dims for dgnum in aci interface
singhbalwinder Oct 14, 2024
d67736f
Changes mam4xx function signatures
singhbalwinder Oct 14, 2024
377df1a
mam4xx pointing to main
singhbalwinder Oct 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 52 additions & 3 deletions components/eamxx/cime_config/namelist_defaults_scream.xml
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,55 @@ be lost if SCREAM_HACK_XML is not enabled.
<cldFraction inherit="atm_proc_base"/>

<!-- MAM4xx namelist options -->

<!-- MAM4xx-Aerosol-Microphysics -->
<mam4_aero_microphys inherit="atm_proc_base">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any change you can add some doc strings for these parameters?

<!--Aerosol Microphysics processes on/off switches -->
<mam4_do_cond type="logical" doc="">true</mam4_do_cond>
<mam4_do_newnuc type="logical" doc="">true</mam4_do_newnuc>
<mam4_do_coag type="logical" doc="">true</mam4_do_coag>
<mam4_do_rename type="logical" doc="">true</mam4_do_rename>
<!-- LINOZ parameters -->
<mam4_o3_tau type="real" doc="">172800.0</mam4_o3_tau>
<mam4_o3_sfc type="real" doc="">3.0E-008</mam4_o3_sfc>
<mam4_o3_lbl type="integer" doc="">4</mam4_o3_lbl>
<mam4_linoz_ymd type="integer" > 20100101</mam4_linoz_ymd>
<mam4_linoz_file_name type="file" doc=""> ${DIN_LOC_ROOT}/atm/scream/mam4xx/linoz/ne30pg2/linoz1850-2015_2010JPL_CMIP6_10deg_58km_ne30pg2_c20240724.nc</mam4_linoz_file_name>
<mam4_linoz_file_name hgrid="ne4np4.pg2" type="file" doc=""> ${DIN_LOC_ROOT}/atm/scream/mam4xx/linoz/ne4pg2/linoz1850-2015_2010JPL_CMIP6_10deg_58km_ne4pg2_c20240724.nc</mam4_linoz_file_name>
<!--Invariants-->
<mam4_oxid_ymd type="integer" > 20150101 </mam4_oxid_ymd>
<mam4_oxid_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/invariants/ne30pg2/oxid_1.9x2.5_L26_1850-2015_ne30pg2_c20241009.nc</mam4_oxid_file_name>
<mam4_oxid_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/invariants/ne4pg2/oxid_1.9x2.5_L26_1850-2015_ne4pg2_c20241009.nc</mam4_oxid_file_name>
<mam4_chlorine_loading_ymd type="integer" doc=""> 20100101 </mam4_chlorine_loading_ymd>
<mam4_linoz_chlorine_file type="file" doc=""> ${DIN_LOC_ROOT}/atm/scream/mam4xx/linoz/Linoz_Chlorine_Loading_CMIP6_0003-2017_c20171114.nc</mam4_linoz_chlorine_file>
<!--Photolysis-->
<mam4_rsf_file type="file" doc=""> ${DIN_LOC_ROOT}/atm/scream/mam4xx/photolysis/RSF_GT200nm_v3.0_c080811.nc</mam4_rsf_file>
<mam4_xs_long_file type="file" doc=""> ${DIN_LOC_ROOT}/atm/scream/mam4xx/photolysis/temp_prs_GT200nm_JPL10_c130206.nc</mam4_xs_long_file>
<!--Vertical emissions-->
<verti_emiss_ymd type="integer"> 20100101 </verti_emiss_ymd>
<!-- For all other grids -->
<mam4_so2_verti_emiss_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne30pg2/elevated/cmip6_mam4_so2_elev_1x1_2010_clim_ne30pg2_c20241008.nc </mam4_so2_verti_emiss_file_name>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you planning to use ne30 data for all runs, including ne4 runs? Currently, the coarsening/remapping infrastructure assumes that the fine grid is the model grid, so you can only refine input data (and coarsen outputs). I've been thinking for a while to extend horiz remap to allow reading in data from a finer grid, but it was never really needed. If you do need it though, we can try to bump up the priority.

<mam4_so4_a1_verti_emiss_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne30pg2/elevated/cmip6_mam4_so4_a1_elev_1x1_2010_clim_ne30pg2_c20241008.nc </mam4_so4_a1_verti_emiss_file_name>
<mam4_so4_a2_verti_emiss_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne30pg2/elevated/cmip6_mam4_so4_a2_elev_1x1_2010_clim_ne30pg2_c20241008.nc </mam4_so4_a2_verti_emiss_file_name>
<mam4_pom_a4_verti_emiss_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne30pg2/elevated/cmip6_mam4_pom_a4_elev_1x1_2010_clim_ne30pg2_c20241008.nc </mam4_pom_a4_verti_emiss_file_name>
<mam4_bc_a4_verti_emiss_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne30pg2/elevated/cmip6_mam4_bc_a4_elev_1x1_2010_clim_ne30pg2_c20241008.nc </mam4_bc_a4_verti_emiss_file_name>
<mam4_num_a1_verti_emiss_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne30pg2/elevated/cmip6_mam4_num_a1_elev_1x1_2010_clim_ne30pg2_c20241008.nc </mam4_num_a1_verti_emiss_file_name>
<mam4_num_a2_verti_emiss_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne30pg2/elevated/cmip6_mam4_num_a2_elev_1x1_2010_clim_ne30pg2_c20241008.nc </mam4_num_a2_verti_emiss_file_name>
<mam4_num_a4_verti_emiss_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne30pg2/elevated/cmip6_mam4_num_a4_elev_1x1_2010_clim_ne30pg2_c20241008.nc </mam4_num_a4_verti_emiss_file_name>
<mam4_soag_verti_emiss_file_name type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne30pg2/elevated/cmip6_mam4_soag_elev_1x1_2010_clim_ne30pg2_c20241008.nc </mam4_soag_verti_emiss_file_name>

<!-- For ne4 grids -->
<mam4_so2_verti_emiss_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne4pg2/elevated/cmip6_mam4_so2_elev_1x1_2010_clim_ne4pg2_c20241008.nc </mam4_so2_verti_emiss_file_name>
<mam4_so4_a1_verti_emiss_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne4pg2/elevated/cmip6_mam4_so4_a1_elev_1x1_2010_clim_ne4pg2_c20241008.nc </mam4_so4_a1_verti_emiss_file_name>
<mam4_so4_a2_verti_emiss_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne4pg2/elevated/cmip6_mam4_so4_a2_elev_1x1_2010_clim_ne4pg2_c20241008.nc </mam4_so4_a2_verti_emiss_file_name>
<mam4_pom_a4_verti_emiss_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne4pg2/elevated/cmip6_mam4_pom_a4_elev_1x1_2010_clim_ne4pg2_c20241008.nc </mam4_pom_a4_verti_emiss_file_name>
<mam4_bc_a4_verti_emiss_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne4pg2/elevated/cmip6_mam4_bc_a4_elev_1x1_2010_clim_ne4pg2_c20241008.nc </mam4_bc_a4_verti_emiss_file_name>
<mam4_num_a1_verti_emiss_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne4pg2/elevated/cmip6_mam4_num_a1_elev_1x1_2010_clim_ne4pg2_c20241008.nc </mam4_num_a1_verti_emiss_file_name>
<mam4_num_a2_verti_emiss_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne4pg2/elevated/cmip6_mam4_num_a2_elev_1x1_2010_clim_ne4pg2_c20241008.nc </mam4_num_a2_verti_emiss_file_name>
<mam4_num_a4_verti_emiss_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne4pg2/elevated/cmip6_mam4_num_a4_elev_1x1_2010_clim_ne4pg2_c20241008.nc </mam4_num_a4_verti_emiss_file_name>
<mam4_soag_verti_emiss_file_name hgrid="ne4np4.pg2" type="file" doc="">${DIN_LOC_ROOT}/atm/scream/mam4xx/emissions/ne4pg2/elevated/cmip6_mam4_soag_elev_1x1_2010_clim_ne4pg2_c20241008.nc </mam4_soag_verti_emiss_file_name>
</mam4_aero_microphys>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

most added files have space at the end of their names, e.g., ...0241008.nc </ma...). Not sure if that matters, but just letting you know

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for noticing that. It didn't matter in our tests so far, but we will remove it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is irrelevant. I think we strip spaces (and newline chars) when we parse the xml, to avoid errors/surprises. So feel free to use the formatting that makes it easier to visually parse the file.


<!-- MAM4xx-Optics -->
<mam4_optics inherit="atm_proc_base">
<mam4_mode1_physical_properties_file type="file" doc="File containing optical properties for MAM4 mode 1, accumulation mode">${DIN_LOC_ROOT}/atm/scream/mam4xx/physprops/mam4_mode1_rrtmg_aeronetdust_c20240206.nc</mam4_mode1_physical_properties_file>
Expand Down Expand Up @@ -535,9 +584,9 @@ be lost if SCREAM_HACK_XML is not enabled.
<surf_lw_flux_up >0.0</surf_lw_flux_up>
<surf_mom_flux type="array(real)">0.0,0.0</surf_mom_flux>
<!-- Note: MAM4xx-ACI needs dry aerosol diameter (dgnum), currently set to aitken model nominal diameter, remove it once all of MAM4xx is integrated -->
<dgnum type="real" doc="Dry aerosol particles diameter [m]">2.6e-08</dgnum>
<dgnumwet type="real" doc="Wet aerosol particles diameter [m]">0.41417721820867320E-007</dgnumwet>
<wetdens type="real" doc="Wet density of interstitial aerosol [kg/m3]">0.15100083211582764E+004</wetdens>
<dgnum type="array(real)" doc="Dry aerosol particles diameter [m]">1.37146e-07 ,3.45899e-08 ,1.00000e-06 ,9.99601e-08</dgnum>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these initial values set for the 3D arrays? I suppose they will be modified later?

<dgnumwet type="array(real)" doc="Wet aerosol particles diameter [m]">1.37452e-07 ,3.46684e-08 ,1.00900e-06 ,9.99601e-08</dgnumwet>
<wetdens type="array(real)" doc="Wet density of interstitial aerosol [kg/m3]">5.08262e-12 ,1.54035e-13 ,3.09018e-13 ,9.14710e-22</wetdens>
<bc_c1 type="real">0.0</bc_c1>
<bc_c3 type="real">0.0</bc_c3>
<bc_c4 type="real">0.0</bc_c4>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

#!/bin/sh
#------------------------------------------------------
# MAM4xx adds additionaltracers to the simulation
# Increase number of tracers for MAM4xx simulations
#------------------------------------------------------

$CIMEROOT/../components/eamxx/cime_config/testdefs/testmods_dirs/scream/mam4xx/update_eamxx_num_tracers.sh -b

#------------------------------------------------------
#Update IC file and add drydep process
#------------------------------------------------------
$CIMEROOT/../components/eamxx/scripts/atmchange initial_conditions::Filename='$DIN_LOC_ROOT/atm/scream/init/screami_mam4xx_ne4np4L72_c20240208.nc' -b
$CIMEROOT/../components/eamxx/scripts/atmchange physics::atm_procs_list="mac_aero_mic,rrtmgp,mam4_aero_microphys" -b



3 changes: 2 additions & 1 deletion components/eamxx/src/physics/mam/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ add_subdirectory(${EXTERNALS_SOURCE_DIR}/mam4xx ${CMAKE_BINARY_DIR}/externals/ma
# EAMxx mam4xx-based atmospheric processes
add_library(mam
eamxx_mam_microphysics_process_interface.cpp
${SCREAM_BASE_DIR}/src/physics/rrtmgp/shr_orb_mod_c2f.F90
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would be good to explain why this is needed, especially that it is a F90 file. Don't we have this already in cpp?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We followed RRTMGP (see here)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I don't think we converted this.

eamxx_mam_optics_process_interface.cpp
eamxx_mam_dry_deposition_process_interface.cpp
eamxx_mam_aci_process_interface.cpp
Expand All @@ -54,7 +55,7 @@ target_include_directories(mam PUBLIC
${EXTERNALS_SOURCE_DIR}/haero
${EXTERNALS_SOURCE_DIR}/mam4xx/src
)
target_link_libraries(mam PUBLIC physics_share scream_share mam4xx haero)
target_link_libraries(mam PUBLIC physics_share csm_share scream_share mam4xx haero)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An example of something that could've been handled by another PR to make this PR more focused and leaner.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, we followed RRTMGP here for now.


#if (NOT SCREAM_LIB_ONLY)
# add_subdirectory(tests)
Expand Down
Loading