11 |
|
|
12 |
SUBROUTINE start_init_phys(tsol_2d) |
SUBROUTINE start_init_phys(tsol_2d) |
13 |
|
|
14 |
USE flincom, only: flininfo, flinopen_nozoom, flinget, flinclo |
USE flincom, only: flininfo, flinopen_nozoom, flinclo |
15 |
|
use flinget_m, only: flinget |
16 |
use conf_dat2d_m, only: conf_dat2d |
use conf_dat2d_m, only: conf_dat2d |
17 |
use inter_barxy_m, only: inter_barxy |
use inter_barxy_m, only: inter_barxy |
18 |
use gr_int_dyn_m, only: gr_int_dyn |
use gr_int_dyn_m, only: gr_int_dyn |
31 |
INTEGER:: itau(1) |
INTEGER:: itau(1) |
32 |
INTEGER:: llm_tmp, ttm_tmp |
INTEGER:: llm_tmp, ttm_tmp |
33 |
|
|
|
CHARACTER(len=120) physfname |
|
|
LOGICAL:: check=.TRUE. |
|
|
|
|
34 |
REAL, ALLOCATABLE:: lon_rad(:), lat_rad(:) |
REAL, ALLOCATABLE:: lon_rad(:), lat_rad(:) |
35 |
REAL, ALLOCATABLE:: lon_ini(:), lat_ini(:) |
REAL, ALLOCATABLE:: lon_ini(:), lat_ini(:) |
36 |
REAL, ALLOCATABLE:: var_ana(:, :) |
REAL, ALLOCATABLE:: var_ana(:, :) |
40 |
|
|
41 |
print *, "Call sequence information: start_init_phys" |
print *, "Call sequence information: start_init_phys" |
42 |
if (any(shape(tsol_2d) /= (/iim + 1, jjm + 1/))) stop "start_init_phys" |
if (any(shape(tsol_2d) /= (/iim + 1, jjm + 1/))) stop "start_init_phys" |
43 |
physfname = 'ECPHY.nc' |
CALL flininfo('ECPHY.nc', iml_phys, jml_phys, llm_tmp, ttm_tmp, fid_phys) |
|
IF ( check ) print *, 'Opening the surface analysis' |
|
|
CALL flininfo(physfname, iml_phys, jml_phys, llm_tmp, ttm_tmp, fid_phys) |
|
44 |
|
|
45 |
ALLOCATE(lat_phys(iml_phys, jml_phys)) |
ALLOCATE(lat_phys(iml_phys, jml_phys)) |
46 |
ALLOCATE(lon_phys(iml_phys, jml_phys)) |
ALLOCATE(lon_phys(iml_phys, jml_phys)) |
47 |
ALLOCATE(levphys_ini(llm_tmp)) |
ALLOCATE(levphys_ini(llm_tmp)) |
48 |
|
|
49 |
CALL flinopen_nozoom(physfname, iml_phys, jml_phys, & |
CALL flinopen_nozoom(iml_phys, jml_phys, & |
50 |
llm_tmp, lon_phys, lat_phys, levphys_ini, ttm_tmp, & |
llm_tmp, lon_phys, lat_phys, levphys_ini, ttm_tmp, & |
51 |
itau, date, dt, fid_phys) |
itau, date, dt, fid_phys) |
52 |
|
|