-
Notifications
You must be signed in to change notification settings - Fork 55
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
base: master
Are you sure you want to change the base?
Changes from all commits
f616a15
9f5989d
724f4b5
7c578da
f29d170
192a792
cabbcfc
6ba749e
7fea338
58af11c
405be6a
3a4b34a
5e9e6af
42f8494
3b4e1c0
7ea94ef
a613c6f
467c168
efdbf02
56cbf6c
a8776ce
e72a20b
cc11e14
c0ea947
c7a0122
472b881
7eadcd5
8dc757f
0252840
755d8a9
d8f2174
3b21405
0aba613
e548406
9691fbc
6325056
6f5165e
27c4899
e83c969
c7e49ca
4de980b
b1ccd7a
c22a853
64b2f7e
097ccd8
1f579db
25e03f7
7909f3a
25a8404
3c0be8b
be177cd
1ffe3a3
a9e3517
9914d73
c42c3c9
0d3cba5
a65acaa
f96147d
648fe4f
6ac846c
001fcab
843b7e9
dd38394
45d077f
f5d5164
59f5478
defe4bf
f40ca58
d2153aa
1e6a6d1
54e9d36
43d55f6
c5957d7
188281c
80b3b9c
b68e714
44757d9
0142a3d
47a751c
1cb8fe5
9fc1f1d
da00793
2a53db7
f21d10a
d6063e2
52f71d9
9d6982d
a18d305
9c47d5c
b4e823e
a3ef1ff
fb8e0b3
5ba849f
bb6728f
fd7ffcc
84df644
59f38ae
7154978
b0f65c5
30fb015
d7fef87
b1ed00b
e761432
45ce30e
6e0dbe0
dd73cb1
1ca6032
aa64dc8
854e951
e3f3425
8b68820
7f442da
665fe96
8ea890a
fd372b1
c0cfada
f3cbbfb
9f0ef4e
09ac325
d426582
45d9d33
2c1d8b8
44d2d43
cc7b5c7
1494f92
56765fd
6a7b930
e7b8185
d27a226
5354ef3
ef2dcb8
10c5465
8d698da
85054ca
c48114c
2852cb1
72be9b3
71e2ee0
28d4814
42edd9c
06363e1
0a31174
d66bf1c
1e48dd2
c41e19c
13d82fd
50247f8
1f6991c
e0643f6
c8e963a
04132e8
dac5eb8
6fb4b32
1437d21
d67736f
377df1a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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"> | ||
<!--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> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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., There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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> | ||
|
@@ -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> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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> | ||
|
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 | ||
|
||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We followed RRTMGP (see here) There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 | ||
|
@@ -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) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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) | ||
|
There was a problem hiding this comment.
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?