[Dart-dev] DART/branches Revision: 12212
dart at ucar.edu
dart at ucar.edu
Mon Dec 18 16:44:34 MST 2017
hendric at ucar.edu
2017-12-18 16:44:33 -0700 (Mon, 18 Dec 2017)
83
reverting to the old interpolation scheme for
converting to geopotential height.
Modified: DART/branches/recam/models/cam-fv/model_mod.f90
===================================================================
--- DART/branches/recam/models/cam-fv/model_mod.f90 2017-12-18 18:02:45 UTC (rev 12211)
+++ DART/branches/recam/models/cam-fv/model_mod.f90 2017-12-18 23:44:33 UTC (rev 12212)
@@ -1,4 +1,4 @@
-! DART software - Copyright UCAR. This open source software is provided
+!-1nlevels - 1 DART software - Copyright UCAR. This open source software is provided
! by ucar, "as is", without charge, subject to all terms of use at
! http://www.image.ucar.edu/dares/dart/dart_download
!
@@ -273,6 +273,10 @@
! this namelist variable so we can initialize the proper tables
if (using_chemistry) call init_chem_tables()
+if (use_damping_ramp_at_model_top) then
+ print*, '"use_damping_ramp_at_model_top" not implemented yet'
+endif
+
end subroutine static_init_model
@@ -537,20 +541,22 @@
! start at i, because my ensemble member is clearly at this level.
! then continue on to see if any other members are also at this level.
- do j=i, ens_size
- if (member_done(j)) cycle
- print*, 'lev_index(1) ', i, lev_index(i)
- print*, 'lev_index(2) ', j, lev_index(j)
- print*, 'tem_values(:)', temp_vals(j)
-
- if (lev_index(j) == lev_index(i)) then
- vals(j) = temp_vals(j)
- member_done(j) = .true.
- my_status(j) = 0
- print*, 'tem_values(:)', temp_vals(j)
- endif
-
- enddo
+ if (debug_level > 100) then
+ do j=i, ens_size
+ if (member_done(j)) cycle
+ print*, 'lev_index(1) ', i, lev_index(i)
+ print*, 'lev_index(2) ', j, lev_index(j)
+ print*, 'tem_values(:)', temp_vals(j)
+
+ if (lev_index(j) == lev_index(i)) then
+ vals(j) = temp_vals(j)
+ member_done(j) = .true.
+ my_status(j) = 0
+ print*, 'tem_values(:)', temp_vals(j)
+ endif
+
+ enddo
+ endif
enddo
end subroutine get_values_from_varid
@@ -1179,9 +1185,12 @@
!>@todo FIXME somewhere cull out unique levels and only get_state() for those. (see wrf)
call height_to_level(nlevels, height_array(:, imember), vert_val, &
bot_levs(imember), top_levs(imember), vert_fracts(imember), my_status(imember))
- do k = 1,ens_size
- print*, 'bot_levs(i), top_levs(i), vert_fracts()', bot_levs(imember), top_levs(imember), vert_fracts(imember)
- enddo
+ if (debug_level > 100) then
+ do k = 1,ens_size
+ print*, 'bot_levs(k), top_levs(k), vert_fracts(k)', &
+ bot_levs(k), top_levs(k), vert_fracts(k)
+ enddo
+ endif
enddo
@@ -1257,7 +1266,7 @@
! get the surface elevation from the phis, including stagger if needed
call get_quad_corners(1, lon_index, lat_index, QTY_SURFACE_ELEVATION, qty, surface_elevation, status1)
-print*, 'surface_elevation ', surface_elevation
+print*, 'lon lat surf elev ', lon_index, lat_index, surface_elevation
do k = 1, nlevels
! temperature
@@ -2422,34 +2431,35 @@
!-----------------------------------------------------------------------
-subroutine build_heights(n_levels,p_surf,h_surf,vertual_temp,height_midpts,height_interf,variable_r)
+subroutine build_heights(nlevels,p_surf,h_surf,vertual_temp,height_midpts,height_interf,variable_r)
-integer, intent(in) :: n_levels ! Number of vertical levels
+integer, intent(in) :: nlevels ! Number of vertical levels
real(r8), intent(in) :: p_surf ! Surface pressure (pascals)
real(r8), intent(in) :: h_surf ! Surface height (m)
-real(r8), intent(in) :: vertual_temp( n_levels) ! Vertual Temperature
-real(r8), intent(out) :: height_midpts(n_levels) ! Geopotential height at midpoints, top to bottom
-real(r8), intent(out), optional :: height_interf(n_levels+1) ! Geopotential height at interfaces, top to bottom
-real(r8), intent(in), optional :: variable_r( n_levels) ! Dry air gas constant, if varies, top to bottom
+real(r8), intent(in) :: vertual_temp( nlevels) ! Vertual Temperature
+real(r8), intent(out) :: height_midpts(nlevels) ! Geopotential height at midpoints, top to bottom
+real(r8), intent(out), optional :: height_interf(nlevels+1) ! Geopotential height at interfaces, top to bottom
More information about the Dart-dev
mailing list