Changeset 2440 for LMDZ5/trunk/libf/phylmd/regr_pr_av_m.F90
- Timestamp:
- Feb 9, 2016, 3:45:31 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/regr_pr_av_m.F90
r2346 r2440 26 26 27 27 ! The target vertical LMDZ grid is the grid of layer boundaries. 28 ! Regridding in pressure is done by averaging a step function of pressure.28 ! Regridding in pressure is conservative, second order. 29 29 30 30 ! All the fields are regridded as a single multi-dimensional array … … 38 38 use assert_m, only: assert 39 39 use assert_eq_m, only: assert_eq 40 use regr1_step_av_m, only: regr1_step_av 40 use regr1_conserv_m, only: regr1_conserv 41 use slopes_m, only: slopes 41 42 use mod_phys_lmdz_mpi_data, only: is_mpi_root 42 43 use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat, nbp_lev … … 83 84 !-------------------------------------------- 84 85 85 call assert(size(v3, 1) == klon, size(v3, 2) == nbp_lev, "regr_pr_av v3 klon") 86 call assert(size(v3, 1) == klon, size(v3, 2) == nbp_lev, & 87 "regr_pr_av v3 klon") 86 88 n_var = assert_eq(size(name), size(v3, 3), "regr_pr_av v3 n_var") 87 89 call assert(shape(paprs) == (/klon, nbp_lev+1/), "regr_pr_av paprs") … … 112 114 ! Regrid in pressure at each horizontal position: 113 115 do i = 1, klon 114 v3(i, nbp_lev:1:-1, :) = regr1_step_av(v2(i, :, :), press_in_edg, & 115 paprs(i, nbp_lev+1:1:-1)) 116 call regr1_conserv(v2(i, :, :), press_in_edg, & 117 paprs(i, nbp_lev + 1:1:-1), v3(i, nbp_lev:1:-1, :), & 118 slopes(v2(i, :, :), press_in_edg)) 116 119 ! (invert order of indices because "paprs" is in descending order) 117 120 end do
Note: See TracChangeset
for help on using the changeset viewer.