-
Notifications
You must be signed in to change notification settings - Fork 24
Added options for enthalpy correction and new ZM options #227
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
Changes from all commits
1aa6da8
b37fff0
7882dca
f872aa3
f9238de
258f91a
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 |
|---|---|---|
|
|
@@ -2275,7 +2275,7 @@ Default: 0,-24,-24,-24,-24,-24,-24,-24,-24,-24 | |
| group="cam_history_nl" valid_values=""> | ||
| If interpolate_output(k) = .true., then the k'th history file will be | ||
| interpolated to a lat/lon grid before output. | ||
| Default: .false.,.false.,.false.,.false.,.false.,.false.,.false.,.false.,.false.,.false. | ||
| Default: .false. | ||
| </entry> | ||
|
|
||
| <entry id="interpolate_nlat" type="integer(10)" category="history" | ||
|
|
@@ -3023,74 +3023,8 @@ level from 100 to 125 hPa applied only in the polar regions (false). | |
| Default: .true. | ||
| </entry> | ||
|
|
||
| <!-- Secondary ice production --> | ||
| <entry id="rafsip_on" type="logical" category="microphys" | ||
| group="sec_ice_nl" valid_values="" > | ||
| If .true., compute secondary ice production using random forests method. | ||
| Default: .true. | ||
| </entry> | ||
|
|
||
| <entry id="forestfileALL" type="char*256" input_pathname="abs" category="microphys" | ||
| group="sec_ice_nl" valid_values="" > | ||
| ML parameters for the forestALL RFR model. | ||
| Georgakaki, P., & Nenes, A. (2024). | ||
| RaFSIP: Parameterizing ice multiplication in models using a machine learning | ||
| approach. Journal of Advances in Modeling Earth Systems, 16, | ||
| e2023MS003923. | ||
| https://doi.org/10.1029/2023MS003923 | ||
| Default: None | ||
| </entry> | ||
|
|
||
| <entry id="forestfileBRDS" type="char*256" input_pathname="abs" category="microphys" | ||
| group="sec_ice_nl" valid_values="" > | ||
| ML parameters for the forestBRDS RFR model. | ||
| Georgakaki, P., & Nenes, A. (2024). | ||
| RaFSIP: Parameterizing ice multiplication in models using a machine learning | ||
| approach. Journal of Advances in Modeling Earth Systems, 16, | ||
| e2023MS003923. | ||
| https://doi.org/10.1029/2023MS003923 | ||
| Default: None | ||
| </entry> | ||
|
|
||
| <entry id="forestfileBRHM" type="char*256" input_pathname="abs" category="microphys" | ||
| group="sec_ice_nl" valid_values="" > | ||
| ML parameters for the forestBRHM RFR model. | ||
| Georgakaki, P., & Nenes, A. (2024). | ||
| RaFSIP: Parameterizing ice multiplication in models using a machine learning | ||
| approach. Journal of Advances in Modeling Earth Systems, 16, | ||
| e2023MS003923. | ||
| https://doi.org/10.1029/2023MS003923 | ||
| Default: None | ||
| </entry> | ||
|
|
||
| <entry id="forestfileBR" type="char*256" input_pathname="abs" category="microphys" | ||
| group="sec_ice_nl" valid_values="" > | ||
| ML parameters for the forestBR RFR model. | ||
| Georgakaki, P., & Nenes, A. (2024). | ||
| RaFSIP: Parameterizing ice multiplication in models using a machine learning | ||
| approach. Journal of Advances in Modeling Earth Systems, 16, | ||
| e2023MS003923. | ||
| https://doi.org/10.1029/2023MS003923 | ||
| Default: None | ||
| </entry> | ||
|
|
||
| <entry id="forestfileBRwarm" type="char*256" input_pathname="abs" category="microphys" | ||
| group="sec_ice_nl" valid_values="" > | ||
| ML parameters for the forestBRwarm RFR model. | ||
| Georgakaki, P., & Nenes, A. (2024). | ||
| RaFSIP: Parameterizing ice multiplication in models using a machine learning | ||
| approach. Journal of Advances in Modeling Earth Systems, 16, | ||
| e2023MS003923. | ||
| https://doi.org/10.1029/2023MS003923 | ||
| Default: None | ||
| </entry> | ||
|
|
||
| <entry id="rafsip_diags" type="char*4" category="history" | ||
| group="sec_ice_nl" valid_values="None,SIP,All" > | ||
| SIP: Total secondary ice production amount and it's components | ||
| All: sip outputs plus inputs to SIP computation (except temperature) | ||
| default: none | ||
| </entry> | ||
|
|
||
|
|
||
|
|
||
| <!-- hkconv Moist Convection --> | ||
| <entry id="hkconv_cmftau" type="real" category="conv" | ||
|
|
@@ -3300,6 +3234,12 @@ Tunable parcel temperature perturbation in ZM deep convection scheme in units of | |
| Default: 0.5K perturbation | ||
| </entry> | ||
|
|
||
| <entry id="zmconv_tiedke_lnd" type="real" category="conv" | ||
| group="zmconv_nl" valid_values="" > | ||
| tht: parcel temp perturbation over land in ZM deep convection scheme in units of (K). | ||
| Default: 1.0K perturbation | ||
| </entry> | ||
|
|
||
| <entry id="zmconv_capelmt" type="real" category="conv" | ||
| group="zmconv_nl" valid_values="" > | ||
| Tunable triggering threshold for convection in ZM deep scheme in units of (J kg-1). | ||
|
|
@@ -3324,6 +3264,32 @@ Convective adjustment timescale in units of (s) | |
| Default: 3600.0 s | ||
| </entry> | ||
|
|
||
| <entry id="zmconv_tht_thermo" type="logical" category="conv" | ||
| group="zmconv_nl" valid_values="" > | ||
| tht: use moist td to compute plume-ensemble properties | ||
| Default: .false. | ||
| </entry> | ||
| <entry id="zmconv_retrigger" type="logical" category="conv" | ||
| group="zmconv_nl" valid_values="" > | ||
| tht: iterate plume-ensemble computation and trigger functions | ||
| Default: .false. | ||
| </entry> | ||
| <entry id="zmconv_entrmn" type="real" category="conv" | ||
| group="zmconv_nl" valid_values="" > | ||
| tht: previously undeclared par: max entr. rate for plume-ens | ||
|
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. Please spell this out without abbreviations and unhelpful comments. Also, what are the units?
Author
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. unknown / none. Not a new parameter, but previously hardcoded in ZM |
||
| Default: 2e-4 | ||
| </entry> | ||
| <entry id="zmconv_alfadet" type="real" category="conv" | ||
| group="zmconv_nl" valid_values="" > | ||
| tht: previously undeclared param: detrainment/entrainment | ||
|
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. Please spell this out without abbreviations and unhelpful comments. Also, what are the units?
Author
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. Unit: unknown / none. Not a new parameter, but previously hardcoded in ZM |
||
| Default: 0.1 | ||
| </entry> | ||
| <entry id="zmconv_plclmin" type="real" category="conv" | ||
| group="zmconv_nl" valid_values="" > | ||
| tht: previously undeclared param: min LCL pressure to allow zm | ||
|
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. Please spell this out without abbreviations and unhelpful comments. Also, what are the units?
Author
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. Unit: unknown / none. Not a new parameter, but previously hardcoded in ZM |
||
| Default: 6e2 mbar | ||
| </entry> | ||
|
|
||
| <!-- Cloud sedimentation --> | ||
|
|
||
| <entry id="cldsed_ice_stokes_fac" type="real" category="cldsed" | ||
|
|
@@ -8223,6 +8189,13 @@ mass and thermodynamic properties. | |
| Default: Set by build-namelist. | ||
| </entry> | ||
|
|
||
| <entry id="compute_enthalpy_flux" type="logical" category="physconst" | ||
| group="air_composition_nl" valid_values="" > | ||
| Enthalpy flux terms explicitly computed and added in atmosphere and | ||
| passed to MOM6 | ||
| Default: TRUE | ||
| </entry> | ||
|
|
||
| <!-- SE dycore --> | ||
|
|
||
| <entry id="se_fine_ne" type="integer" category="se" | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -219,7 +219,7 @@ module micro_pumas_cam | |
| qrain_idx=-1, qsnow_idx=-1, & | ||
| nrain_idx=-1, nsnow_idx=-1, & | ||
| qcsedten_idx=-1, qrsedten_idx=-1, & | ||
| qisedten_idx=-1, qssedten_idx=-1, & | ||
| qisedten_idx=-1, qssedten_idx=-1, qgsedten_idx=-1, & !+tht | ||
|
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. Please remove these type of comments |
||
| vtrmc_idx=-1, umr_idx=-1, & | ||
| vtrmi_idx=-1, ums_idx=-1, & | ||
| qcsevap_idx=-1, qisevap_idx=-1 | ||
|
|
@@ -816,6 +816,14 @@ subroutine micro_pumas_cam_register | |
| call pbuf_add_field('UMS', 'physpkg', dtype_r8, (/pcols,pver/), ums_idx) | ||
| call pbuf_add_field('QCSEVAP', 'physpkg', dtype_r8, (/pcols,pver/), qcsevap_idx) | ||
| call pbuf_add_field('QISEVAP', 'physpkg', dtype_r8, (/pcols,pver/), qisevap_idx) | ||
| !+tht | ||
|
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. All these comments are unnecessary and distracting. Please remove them. |
||
| else | ||
| call pbuf_add_field('QCSEDTEN', 'physpkg', dtype_r8, (/pcols,pver/), qcsedten_idx) | ||
| call pbuf_add_field('QRSEDTEN', 'physpkg', dtype_r8, (/pcols,pver/), qrsedten_idx) | ||
| call pbuf_add_field('QISEDTEN', 'physpkg', dtype_r8, (/pcols,pver/), qisedten_idx) | ||
| call pbuf_add_field('QSSEDTEN', 'physpkg', dtype_r8, (/pcols,pver/), qssedten_idx) | ||
| call pbuf_add_field('QGSEDTEN', 'physpkg', dtype_r8, (/pcols,pver/), qgsedten_idx) | ||
| !-tht | ||
| end if | ||
|
|
||
| end subroutine micro_pumas_cam_register | ||
|
|
@@ -1511,6 +1519,7 @@ subroutine micro_pumas_cam_init(pbuf2d) | |
| if (qrsedten_idx > 0) call pbuf_set_field(pbuf2d, qrsedten_idx, 0._r8) | ||
| if (qisedten_idx > 0) call pbuf_set_field(pbuf2d, qisedten_idx, 0._r8) | ||
| if (qssedten_idx > 0) call pbuf_set_field(pbuf2d, qssedten_idx, 0._r8) | ||
| if (qgsedten_idx > 0) call pbuf_set_field(pbuf2d, qgsedten_idx, 0._r8) !+tht | ||
| if (vtrmc_idx > 0) call pbuf_set_field(pbuf2d, vtrmc_idx, 0._r8) | ||
| if (umr_idx > 0) call pbuf_set_field(pbuf2d, umr_idx, 0._r8) | ||
| if (vtrmi_idx > 0) call pbuf_set_field(pbuf2d, vtrmi_idx, 0._r8) | ||
|
|
@@ -1919,6 +1928,7 @@ subroutine micro_pumas_cam_tend(state, ptend, dtime, pbuf) | |
| real(r8) :: qrsedtenout_grid(pcols,pver) | ||
| real(r8) :: qisedtenout_grid(pcols,pver) | ||
| real(r8) :: qssedtenout_grid(pcols,pver) | ||
| real(r8) :: qgsedtenout_grid(pcols,pver)!+tht | ||
| real(r8) :: vtrmcout_grid(pcols,pver) | ||
| real(r8) :: umrout_grid(pcols,pver) | ||
| real(r8) :: vtrmiout_grid(pcols,pver) | ||
|
|
@@ -1993,6 +2003,7 @@ subroutine micro_pumas_cam_tend(state, ptend, dtime, pbuf) | |
| real(r8), pointer :: qrsedtenout_grid_ptr(:,:) | ||
| real(r8), pointer :: qisedtenout_grid_ptr(:,:) | ||
| real(r8), pointer :: qssedtenout_grid_ptr(:,:) | ||
| real(r8), pointer :: qgsedtenout_grid_ptr(:,:) !+tht | ||
| real(r8), pointer :: vtrmcout_grid_ptr(:,:) | ||
| real(r8), pointer :: umrout_grid_ptr(:,:) | ||
| real(r8), pointer :: vtrmiout_grid_ptr(:,:) | ||
|
|
@@ -2258,6 +2269,7 @@ subroutine micro_pumas_cam_tend(state, ptend, dtime, pbuf) | |
| if (qrsedten_idx > 0) call pbuf_get_field(pbuf, qrsedten_idx, qrsedtenout_grid_ptr) | ||
| if (qisedten_idx > 0) call pbuf_get_field(pbuf, qisedten_idx, qisedtenout_grid_ptr) | ||
| if (qssedten_idx > 0) call pbuf_get_field(pbuf, qssedten_idx, qssedtenout_grid_ptr) | ||
| if (qgsedten_idx > 0) call pbuf_get_field(pbuf, qgsedten_idx, qgsedtenout_grid_ptr) !+tht | ||
| if (vtrmc_idx > 0) call pbuf_get_field(pbuf, vtrmc_idx, vtrmcout_grid_ptr) | ||
| if (umr_idx > 0) call pbuf_get_field(pbuf, umr_idx, umrout_grid_ptr) | ||
| if (vtrmi_idx > 0) call pbuf_get_field(pbuf, vtrmi_idx, vtrmiout_grid_ptr) | ||
|
|
@@ -2987,6 +2999,7 @@ subroutine micro_pumas_cam_tend(state, ptend, dtime, pbuf) | |
| qisevapout_grid(:ncol,:top_lev-1) = 0._r8 | ||
| qrsedtenout_grid(:ncol,:top_lev-1) = 0._r8 | ||
| qssedtenout_grid(:ncol,:top_lev-1) = 0._r8 | ||
| qgsedtenout_grid(:ncol,:top_lev-1) = 0._r8 !+tht | ||
| umrout_grid(:ncol,:top_lev-1) = 0._r8 | ||
| umsout_grid(:ncol,:top_lev-1) = 0._r8 | ||
| psacro_grid(:ncol,:top_lev-1) = 0._r8 | ||
|
|
@@ -3077,6 +3090,7 @@ subroutine micro_pumas_cam_tend(state, ptend, dtime, pbuf) | |
| ns_grid = state_loc%q(:,:,ixnumsnow) | ||
| qrsedtenout_grid(:ncol,top_lev:) = proc_rates%qrsedten | ||
| qssedtenout_grid(:ncol,top_lev:) = proc_rates%qssedten | ||
| qgsedtenout_grid(:ncol,top_lev:) = proc_rates%qgsedten !+tht | ||
| umrout_grid(:ncol,top_lev:) = proc_rates%umr | ||
| umsout_grid(:ncol,top_lev:) = proc_rates%ums | ||
|
|
||
|
|
@@ -3569,6 +3583,7 @@ subroutine micro_pumas_cam_tend(state, ptend, dtime, pbuf) | |
| if (qrsedten_idx > 0) qrsedtenout_grid_ptr = qrsedtenout_grid | ||
| if (qisedten_idx > 0) qisedtenout_grid_ptr = qisedtenout_grid | ||
| if (qssedten_idx > 0) qssedtenout_grid_ptr = qssedtenout_grid | ||
| if (qgsedten_idx > 0) qgsedtenout_grid_ptr = qgsedtenout_grid !+tht | ||
| if (vtrmc_idx > 0) vtrmcout_grid_ptr = vtrmcout_grid | ||
| if (umr_idx > 0) umrout_grid_ptr = umrout_grid | ||
| if (vtrmi_idx > 0) vtrmiout_grid_ptr = vtrmiout_grid | ||
|
|
||
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.
Please remove all of these comments