noresm2_3_beta02: Add RafWBF parameterization for Bergeron factor#274
noresm2_3_beta02: Add RafWBF parameterization for Bergeron factor#274mvdebolskiy wants to merge 12 commits into
Conversation
|
Has it been tested to give bit-identical results with the switch default to false? |
|
@oyvindseland I am doing that right now. |
|
@oyvindseland @gold2718 |
|
|
||
| <entry id="forestfileWBF" type="char*256" input_pathname="abs" category="microphys" | ||
| group="wbf_nl" valid_values="" > | ||
| ML parameters for Damman et al., ... |
There was a problem hiding this comment.
Is there supposed to be a reference here?
This needs some reference / documentation.
There was a problem hiding this comment.
It's not published yet.
There was a problem hiding this comment.
Then, please include the title and current submission status (e.g., journal, status).
| ! RaFWBF parameterisattion: | ||
| if (rafwbf_on) then | ||
| do i = 1,mgncol | ||
| if (t(i,k) .le. 273.15_r8 .and. t(i,k) .ge. 235.15_r8) then |
There was a problem hiding this comment.
All of these uses of 273.15 (here and below) should use physconst, only: tmelt. Also, please use modern Fortran syntax:
| if (t(i,k) .le. 273.15_r8 .and. t(i,k) .ge. 235.15_r8) then | |
| if (t(i,k) <= tmelt .and. t(i,k) >= 235.15_r8) then |
Also, it would be great if you could define and document a parameter for 235.15_r8 and use that.
| !=============================================================================== | ||
|
|
||
| subroutine micro_mg_cam_tend(state, ptend, dtime, pbuf) | ||
| subroutine micro_mg_cam_tend(state, ptend, dtime, cam_in, pbuf) |
There was a problem hiding this comment.
Do not pass in an entire structure for one variable. Pass just ts.
| close(unitn) | ||
| end if | ||
| else | ||
| call endrun(subname//':: ERROR rafwbf_on = .true. is incompatible with micro_mg_version=2') |
There was a problem hiding this comment.
Shouldn't this be version 1?
| call endrun(subname//':: ERROR rafwbf_on = .true. is incompatible with micro_mg_version=2') | |
| call endrun(subname//':: ERROR rafwbf_on = .true. is incompatible with micro_mg_version=1') |
|
|
||
| if (use_subcol_microp) then | ||
| call microp_driver_tend(state_sc, ptend_sc, cld_macmic_ztodt, pbuf) | ||
| call microp_driver_tend(state_sc, ptend_sc, cld_macmic_ztodt, cam_in, pbuf) |
There was a problem hiding this comment.
See change request in micro_mg_cam.F90
|
|
||
| use micro_mg1_0, only: micro_mg_get_cols1_0 => micro_mg_get_cols | ||
| use micro_mg2_0, only: micro_mg_get_cols2_0 => micro_mg_get_cols | ||
| use camsrfexch, only: cam_in_t |
There was a problem hiding this comment.
Only ts should be passed so this will not be necessary.
| case ('MG') | ||
| call t_startf('microp_mg_tend') | ||
| call micro_mg_cam_tend(state, ptend, dtime, pbuf) | ||
| call micro_mg_cam_tend(state, ptend, dtime, cam_in, pbuf) |
There was a problem hiding this comment.
Only pass ts:
| call micro_mg_cam_tend(state, ptend, dtime, cam_in, pbuf) | |
| call micro_mg_cam_tend(state, ptend, dtime, cam_in%ts, pbuf) |
Given how much code is impacted, a short test should be added (can be short SMS test) to protect the baseline moving forwards. |
Co-authored-by: goldy <1588651+gold2718@users.noreply.github.com>
|
I've rerun aux_cam only nlcomp fails + 1 baseline fail for the new test. |
gold2718
left a comment
There was a problem hiding this comment.
This is much better but still needs some fixes.
Also, please do not resolve my comments and change requests. I need to see them to make sure everything is resolved.
| Tb = t(i,k) - 273.15_r8 ! DegC | ||
| PBLHb = pblh(i) !m | ||
| TSKb = tsk(i) - 273.15 ! DegC |
There was a problem hiding this comment.
Are these constants explicitly supposed to be the same as tupb? tmelt? Given the comment, it seems that these should be replaced with tmelt.
| ! RaFWBF parameterisattion: | ||
| if (rafwbf_on) then | ||
| do i = 1,mgncol | ||
| if (t(i,k) >= tupb .and. t(i,k) <= tlob) then |
There was a problem hiding this comment.
Have you tested this change? I do not see how it is ever .true..
Summary: Adds a random-forest parameterization for determining a factor for Bergeron process.
Contributors: @mvdebolskiy @sldamman
Reviewers: @gold2718 @DirkOlivie @oyvindseland
Purpose of changes:
Github PR URL:
Changes made to build system: added namelist options
Changes made to the namelist: added
rafwbf_on_onandforestfileWBFnamelist vars in groupwbf_nl. The switch defaults to.false.Changes to the defaults for the boundary datasets: None
Substantial timing or memory changes: TBD
[ Detailed description of changes ]
[ List each test suite run. For each suite, include machine, compiler, and any test failures.
For each failure, include the contents of TestStatus or the output from cs.status.testid for that test ]
Issues addressed by this PR: None