add optional bulk flux calculation #26
Conversation
|
|
||
| ! bulk formula quantities for nems_orig_data | ||
| if (trim(coupling_mode) == 'nems_orig_data' .and. ocn_surface_flux_scheme == -1) then | ||
| call FB_GetFldPtr(FBAtm, fldname='Sa_u10m', fldptr1=aoflux%ubot, rc=rc) |
There was a problem hiding this comment.
So we are adding an option, when ocn_surface_flux_scheme == -1, the bulk formula will use the 10m wind and 2m tmp? Have we verified that model runs stably with this method in godas run experiment?
There was a problem hiding this comment.
I do think we need verification from the godas team that it is implemented correctly and running stably.
|
I will run with ocn_surface_flux_scheme == -1 and update it.
…On Mon, Nov 9, 2020 at 9:37 AM Denise Worthen ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In nems/util/shr_flux_mod.F90
<#26 (comment)>:
> @@ -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
<#26 (comment)>, 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 ***@***.***> 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
<#26 (comment)>, 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. |
separate =>null into separate lines
add comments to indicate that "bot" values received from aoflux_run phase are either bottom (heightlowest) or at a reference height (10m or 2m)
|
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
holin 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 ofholwas 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