[Dart-dev] DART/branches Revision: 12504
dart at ucar.edu
dart at ucar.edu
Tue Apr 10 16:26:49 MDT 2018
nancy at ucar.edu
2018-04-10 16:26:49 -0600 (Tue, 10 Apr 2018)
87
fix indentation level; probably caused by xxdiff when you have
it ignore white space.
Modified: DART/branches/recam/models/wrf/model_mod.f90
===================================================================
--- DART/branches/recam/models/wrf/model_mod.f90 2018-04-10 22:25:45 UTC (rev 12503)
+++ DART/branches/recam/models/wrf/model_mod.f90 2018-04-10 22:26:49 UTC (rev 12504)
@@ -5282,6 +5282,7 @@
if ( rc .ne. 0 ) &
print*, 'model_mod.f90 :: get_model_height_profile :: getCorners rc = ', rc
+ ! model level heights, on model levels
do k = 1, wrf%dom(id)%var_size(3,wrf%dom(id)%type_gz)
ill = get_dart_vector_index(ll(1), ll(2), k, domain_id(id), wrf%dom(id)%type_gz)
@@ -5295,14 +5296,16 @@
x_iur = get_state(iur, state_handle)
geop(:) = ( dym*( dxm*( wrf%dom(id)%phb(ll(1),ll(2),k) + x_ill ) + &
- dx*( wrf%dom(id)%phb(lr(1),lr(2),k) + x_ilr ) ) + &
- dy*( dxm*( wrf%dom(id)%phb(ul(1),ul(2),k) + x_iul ) + &
- dx*( wrf%dom(id)%phb(ur(1),ur(2),k) + x_iur ) ) )/gravity
+ dx*( wrf%dom(id)%phb(lr(1),lr(2),k) + x_ilr ) ) + &
+ dy*( dxm*( wrf%dom(id)%phb(ul(1),ul(2),k) + x_iul ) + &
+ dx*( wrf%dom(id)%phb(ur(1),ur(2),k) + x_iur ) ) )/gravity
+ ! this is computing an average latitude and not using dx, dxm, dy, dym.
+ ! is it because of handling the poles correctly?
lat(:) = ( wrf%dom(id)%latitude(ll(1),ll(2)) + &
- wrf%dom(id)%latitude(lr(1),lr(2)) + &
- wrf%dom(id)%latitude(ul(1),ul(2)) + &
- wrf%dom(id)%latitude(ur(1),ur(2)) ) / 4.0_r8
+ wrf%dom(id)%latitude(lr(1),lr(2)) + &
+ wrf%dom(id)%latitude(ul(1),ul(2)) + &
+ wrf%dom(id)%latitude(ur(1),ur(2)) ) / 4.0_r8
do e = 1, ens_size
fll(k, e) = compute_geometric_height(geop(e), lat(e))
@@ -5310,14 +5313,16 @@
end do
+ ! heights at each level midpoint
do k=1,n
v_h(k, :) = 0.5_r8*(fll(k, :) + fll(k+1, :) )
end do
+ ! surface elevation
v_h(0, :) = dym*( dxm*wrf%dom(id)%hgt(ll(1), ll(2)) + &
- dx*wrf%dom(id)%hgt(lr(1), lr(2)) ) + &
- dy*( dxm*wrf%dom(id)%hgt(ul(1), ul(2)) + &
- dx*wrf%dom(id)%hgt(ur(1), ur(2)) )
+ dx*wrf%dom(id)%hgt(lr(1), lr(2)) ) + &
+ dy*( dxm*wrf%dom(id)%hgt(ul(1), ul(2)) + &
+ dx*wrf%dom(id)%hgt(ur(1), ur(2)) )
if (debug) &
print*, 'model_mod.f90 :: get_model_height_profile :: n, v_h() ', n, v_h(1:n, :)
More information about the Dart-dev
mailing list