--- trunk/dyn3d/etat0.f 2018/07/12 14:49:20 276 +++ trunk/dyn3d/etat0.f 2018/07/20 14:30:23 279 @@ -16,13 +16,11 @@ use dimphy, only: klon use dimsoil, only: nsoilmx use disvert_m, only: ap, bp, preff, pa, disvert - use dynetat0_m, only: day_ref, annee_ref, xprimp025, xprimm025, rlatu1, & - rlatu2, rlatu, rlatv, yprimu1, yprimu2, rlonu, rlonv, xprimu, xprimv + use dynetat0_m, only: day_ref, annee_ref, rlatu, rlatv, rlonu, rlonv, & + fyhyp, fxhyp use dynredem0_m, only: dynredem0 use dynredem1_m, only: dynredem1 use exner_hyb_m, only: exner_hyb - use fxhyp_m, only: fxhyp - use fyhyp_m, only: fyhyp use geopot_m, only: geopot use grille_m_m, only: grille_m use grid_change, only: init_dyn_phy, dyn_phy @@ -34,14 +32,14 @@ use netcdf95, only: nf95_close, nf95_get_var, nf95_gw_var, nf95_put_var, & nf95_inq_varid, nf95_open use nr_util, only: pi, assert - use phyetat0_m, only: rlat, rlon, itau_phy, zmasq + use phyetat0_m, only: zmasq, phyetat0_new use phyredem0_m, only: phyredem0, ncid_restartphy use phyredem_m, only: phyredem use q_sat_m, only: q_sat use regr_lat_time_coefoz_m, only: regr_lat_time_coefoz use regr_pr_o3_m, only: regr_pr_o3 use startdyn, only: start_init_dyn - USE start_init_orog_m, only: start_init_orog, mask + USE start_init_orog_m, only: start_init_orog use start_init_phys_m, only: start_init_phys use start_inter_3d_m, only: start_inter_3d use test_disvert_m, only: test_disvert @@ -125,31 +123,14 @@ pa = 5e4 CALL disvert call test_disvert - - CALL fyhyp(rlatu, rlatv, rlatu2, yprimu2, rlatu1, yprimu1) - CALL fxhyp(xprimm025, rlonv, xprimv, rlonu, xprimu, xprimp025) - - rlatu(1) = pi / 2. - rlatu(jjm + 1) = -rlatu(1) - + CALL fyhyp + CALL fxhyp CALL inigeom CALL inifilr - - rlat(1) = 90. - rlat(2:klon-1) = pack(spread(rlatu(2:jjm), 1, iim), .true.) * 180. / pi - ! (with conversion to degrees) - rlat(klon) = - 90. - - rlon(1) = 0. - rlon(2:klon-1) = pack(spread(rlonv(:iim), 2, jjm - 1), .true.) * 180. / pi - ! (with conversion to degrees) - rlon(klon) = 0. - call start_init_orog(phis, zmea_2d, zstd_2d, zsig_2d, zgam_2d, zthe_2d, & zpic_2d, zval_2d) ! also compute "mask" call init_dyn_phy ! define the mask "dyn_phy" for distinct grid points - zmasq = pack(mask, dyn_phy) - PRINT *, 'Masque construit' + call phyetat0_new call start_init_phys(tsol_2d, qsol_2d) CALL start_init_dyn(tsol_2d, phis, ps) @@ -256,10 +237,11 @@ rlatu) flic_tmp(iim + 1, :) = flic_tmp(1, :) - ! Passage sur la grille physique + ! Passage sur la grille physique : pctsrf = 0. pctsrf(:, is_lic) = pack(flic_tmp, dyn_phy) - ! Ad\'equation avec le maque terre/mer + + ! Ad\'equation avec le maque terre/mer : WHERE (pctsrf(:, is_lic) < EPSFRA) pctsrf(:, is_lic) = 0. WHERE (zmasq < EPSFRA) pctsrf(:, is_lic) = 0. where (zmasq <= EPSFRA) pctsrf(:, is_ter) = zmasq @@ -328,7 +310,6 @@ w01 = 0. nday = 0 - itau_phy = 0 ! side effect call phyredem0 call nf95_inq_varid(ncid_restartphy, "trs", varid)