noresm2_3_beta02: Add RafWBF parameterization for Bergeron factor - #274
mvdebolskiy wants to merge 21 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 |
| ! 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.
Added a new entry for slf_isotherms to the namelist.
Added sadliq variable for cloud liquid surface area density.
Added support for SLF on isotherms in COSP simulator.
|
@mvdebolskiy - Is this the CAM PR you were thinking about that should be ready to merge? |
|
@TomasTorsvik yes. We fixed things the issues. I will revert the last commit with super cooled liquid output though. I pushed it to the wrong branch. |
I was going to ask about that. I have to restart my review now 🙁 |
|
@TomasTorsvik we do not technically need it, but if there is a single release tag it will be easier to cite. This does not change answers. |
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_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