34 |
use start_init_phys_m, only: start_init_phys |
use start_init_phys_m, only: start_init_phys |
35 |
use nr_util, only: assert, pi |
use nr_util, only: assert, pi |
36 |
|
|
37 |
REAL, intent(out):: tsol_2d(:, :) |
REAL, intent(in):: tsol_2d(:, :) ! (iim + 1, jjm + 1) |
38 |
REAL, intent(out):: psol(:, :) ! surface pressure, in Pa |
REAL, intent(out):: psol(:, :) ! (iim + 1, jjm + 1) surface pressure, in Pa |
39 |
|
|
40 |
! Local: |
! Local: |
41 |
|
|
54 |
|
|
55 |
print *, "Call sequence information: start_init_dyn" |
print *, "Call sequence information: start_init_dyn" |
56 |
call assert((/size(tsol_2d, 1), size(psol, 1)/) == iim + 1, & |
call assert((/size(tsol_2d, 1), size(psol, 1)/) == iim + 1, & |
57 |
"start_init_phys size 1") |
"start_init_dyn size 1") |
58 |
call assert((/size(tsol_2d, 2), size(psol, 2)/) == jjm + 1, & |
call assert((/size(tsol_2d, 2), size(psol, 2)/) == jjm + 1, & |
59 |
"start_init_phys size 2") |
"start_init_dyn size 2") |
60 |
CALL flininfo('ECDYN.nc', iml_dyn, jml_dyn, llm_dyn, ttm_dyn, fid_dyn) |
CALL flininfo('ECDYN.nc', iml_dyn, jml_dyn, llm_dyn, ttm_dyn, fid_dyn) |
61 |
print *, "iml_dyn = ", iml_dyn, ", jml_dyn = ", jml_dyn, & |
print *, "iml_dyn = ", iml_dyn, ", jml_dyn = ", jml_dyn, & |
62 |
", llm_dyn = ", llm_dyn, ", ttm_dyn = ", ttm_dyn |
", llm_dyn = ", llm_dyn, ", ttm_dyn = ", ttm_dyn |
101 |
CALL inter_barxy(lon_rad, lat_rad(:jml_dyn -1), var_ana, rlonu(:iim), & |
CALL inter_barxy(lon_rad, lat_rad(:jml_dyn -1), var_ana, rlonu(:iim), & |
102 |
rlatv, tmp_var) |
rlatv, tmp_var) |
103 |
psol = gr_int_dyn(tmp_var) |
psol = gr_int_dyn(tmp_var) |
|
CALL start_init_phys(tsol_2d) |
|
104 |
|
|
105 |
psol(:iim, :) = psol(:iim, :) & |
psol(:iim, :) = psol(:iim, :) & |
106 |
* (1. + (z(:iim, :) - phis(:iim, :)) / 287. / tsol_2d(:iim, :)) |
* (1. + (z(:iim, :) - phis(:iim, :)) / 287. / tsol_2d(:iim, :)) |