Closed DeniseWorthen closed 3 years ago
I will run with ocn_surface_flux_scheme == -1 and update it.
On Mon, Nov 9, 2020 at 9:37 AM Denise Worthen notifications@github.com wrote:
@DeniseWorthen commented on this pull request.
In nems/util/shr_flux_mod.F90 https://github.com/NOAA-EMC/CMEPS/pull/26#discussion_r519860395:
@@ -315,7 +315,11 @@ real(R8) :: psix2 ! stability function at ztref reference height !(1.0_R8-stable) chxcdu + stable chxcds
!--- shift all coeffs to measurement height and stability ---
- rd = rdn / (1.0_R8 + rdn/loc_karman*(alz-psimh))
- if (ocn_surface_flux_scheme == -1)then
- rd = rdn
This needs to be provided by @hyunchul386 https://github.com/hyunchul386. I've tried to implement his NEMS bulk flux branch.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/CMEPS/pull/26#discussion_r519860395, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADQ73E7MULLYZNIMZRI4S6DSO75DDANCNFSM4TPKETJQ .
@hyunchul386. The implementation of the bulk flux can be tested in this branch of ufs-weather-model
@DeniseWorthen, one thing in my view is that datm_data_table_IN needs to include variables of 10m and 2m fields for the bulk method, like as https://github.com/hyunchul386/ufs-weather-model/tree/cmeps-bulk-test/tests/parm/ datm_data_table_IN.
I have tested the one day RT for CFSR/GEFS with 1deg/1/4 deg, with the bulk method of two iterations, and so far not so big a difference there. I am going to test the branch with the new table for longer runs.
On Mon, Nov 9, 2020 at 10:00 AM Denise Worthen notifications@github.com wrote:
@hyunchul386 https://github.com/hyunchul386. The implementation of the bulk flux can be tested in this branch https://github.com/DeniseWorthen/ufs-weather-model/tree/feature/bulk of ufs-weather-model
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/CMEPS/pull/26#issuecomment-724066887, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADQ73E6M4WST7N6SG2VL37TSO77XBANCNFSM4TPKETJQ .
Yes, that is right. The datm_data_table.IN in my ufs-weather branch contains these variables.
I ran the ufs-cpld and ufs-datm RTs on Hera. As expected, the DATM tests failed (because flux_iteration is now 2) but the cpld tests also failed. Temporarily reverting the change made in fbfc28b allows the cpld baselines to pass.
I had made this change while debugging DATM restart reproducibility. It did not solve that issue but I will retain the committed code. I've added a text to the PR to note that it does change baselines.
Description of changes
An optional bulk flux calculation is added.
Specific notes
This PR implements a bulk-flux feature in CMEPS similarly to the version implemented by @hyunchul386 in his NEMS bulk flux branch
In CMEPS, the optional bulk flux method has been implemented with a configuration variable
ocn_surface_flux_scheme
. For the bulk flux scheme, this variable should be set to -1. A value of 0 will produce the default scheme.If the bulk flux configuration is selected, then the fields (
ubot
,vbot
,tbot
,shum
) passed to the shr_flux_mod are the 10m and 2m values. Otherwise, the values passed are the height lowest values.There are minor differences between the exact implementation in the NEMS mediator vs CMEPS:
As implemented in CMEPS, the potential temperature and air density passed to the shr_flux_mod are calculated using either the 2m or height_lowest values. In the NEMS mediator, the air density uses the height lowest value for either flux scheme.
As implemented in CMEPS, the value
hol
in the shr_flux_mod will use the value of potential temperature passed in so it will either be calculated at 2m or at height lowest. In the NEMS mediator, the value ofhol
was calculated using the potential temperature at the height lowest for either flux scheme.In the NEMS mediator, there is an iteration performed in aoflux calculation by re-using a block of code, giving an iteration count of 2. In CMEPS, the number of iterations is set as a configurable variable. Currently it is set as 1. To most closely replicate the NEMS mediator aoflux calculation, this variable should be set to 2 even with the default scheme. Changing the number of iterations will change answers for both the bulk flux option and the default configuration.
In med_phases_prep_ocn, the temporary variable for 1-oceanalbedo (
customwgt(:) = ofrac(:) * (1.0 - 0.06)
) is now specified explicitly as R8 (customwgt(:) = ofrac(:) * (1.0_R8 - 0.06_R8)
). This changes answers for the coupled model.CMEPS Issues Fixed (include github issue #):
Issue #20 Issue #21
The implementation of the bulk flux can be tested in this branch of ufs-weather-model