Changeset 996 for LMDZ4/trunk/libf/phylmd/physiq.F
- Timestamp:
- Sep 9, 2008, 3:22:23 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/physiq.F
r987 r996 24 24 USE vampir 25 25 USE pbl_surface_mod, ONLY : pbl_surface 26 USE surface_data, ONLY : ocean, ok_veget 26 USE change_srf_frac_mod 27 USE surface_data, ONLY : type_ocean, ok_veget 27 28 USE phys_local_var_mod ! Variables internes non sauvegardees de la physique 28 29 USE phys_state_var_mod ! Variables sauvegardees de la physique 29 30 31 USE ocean_slab_mod, ONLY : ocean_slab_get_vars32 USE ocean_cpl_mod, ONLY : ocean_cpl_get_vars33 USE ocean_forced_mod, ONLY : ocean_forced_get_vars34 30 USE fonte_neige_mod, ONLY : fonte_neige_get_vars 35 31 USE phys_output_mod … … 120 116 LOGICAL, SAVE :: rnpb=.TRUE. 121 117 c$OMP THREADPRIVATE(rnpb) 122 cIM "slab" ocean123 REAL tslab(klon) !Temperature du slab-ocean124 REAL seaice(klon) !glace de mer (kg/m2)125 REAL fluxo(klon) !flux turbulents ocean-glace de mer126 REAL fluxg(klon) !flux turbulents ocean-atmosphere127 118 REAL amn, amx 128 119 INTEGER igout … … 699 690 REAL wfbils(klon,nbsrf) ! bilan de chaleur au sol, pour chaque 700 691 C ! type de sous-surface et pondere par la fraction 692 REAL slab_wfbils(klon) ! bilan de chaleur au sol pour le cas de slab, sur les points d'ocean 693 701 694 REAL fder(klon) 702 695 REAL ve(klon) ! integr. verticale du transport meri. de l'energie … … 715 708 SAVE lmt_pas ! frequence de mise a jour 716 709 c$OMP THREADPRIVATE(lmt_pas) 717 cIM718 REAL pctsrf_new(klon,nbsrf) !pourcentage surfaces issus d'ORCHIDEE719 720 cym SAVE pctsrf ! sous-fraction du sol721 710 722 711 cIM sorties … … 1239 1228 c appel a la lecture du run.def physique 1240 1229 c 1241 call conf_phys(o cean, ok_veget, ok_journe, ok_mensuel,1230 call conf_phys(ok_journe, ok_mensuel, 1242 1231 . ok_instan, ok_hf, 1243 1232 . solarlong0,seuil_inversion, … … 1279 1268 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1280 1269 1281 CALL phyetat0 ("startphy.nc", ocean, ok_veget,clesphy0,tabcntr0)1270 CALL phyetat0 ("startphy.nc",clesphy0,tabcntr0) 1282 1271 cIM begin 1283 1272 print*,'physiq: clwcon rnebcon ratqs',clwcon(1,1),rnebcon(1,1) … … 1288 1277 1289 1278 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1290 1291 1292 DO i=1,klon1293 IF ( abs( pctsrf(i, is_ter) + pctsrf(i, is_lic) +1294 $ pctsrf(i, is_oce) + pctsrf(i, is_sic) - 1.) .GT. EPSFRA)1295 $ THEN1296 WRITE(*,*)1297 $ 'physiq apres lecture de restart: pb sous surface au point ',1298 $ i, pctsrf(i, 1 : nbsrf)1299 ENDIF1300 ENDDO1301 1302 1279 c 1303 1280 C on remet le calendrier a zero … … 1518 1495 call phys_output_open(jjmp1,nqmax,nlevSTD,clevSTD,nbteta, 1519 1496 & ctetaSTD,dtime,presnivs,ok_veget, 1520 & ocean,iflag_pbl,ok_mensuel,ok_journe,1497 & type_ocean,iflag_pbl,ok_mensuel,ok_journe, 1521 1498 & ok_hf,ok_instan,nid_files) 1522 1499 c$OMP END MASTER … … 1581 1558 c 1582 1559 ENDIF 1583 c 1584 c **************** Fin de IF ( debut ) *************** 1585 c 1560 ! 1561 ! **************** Fin de IF ( debut ) *************** 1562 ! 1563 ! 1564 ! Incrementer le compteur de la physique 1565 ! 1566 itap = itap + 1 1567 julien = MOD(NINT(xjour),360) 1568 if (julien .eq. 0) julien = 360 1569 1570 ! 1571 ! Update fraction of the sub-surfaces (pctsrf) and 1572 ! initialize, where a new fraction has appeared, all variables depending 1573 ! on the surface fraction. 1574 ! 1575 CALL change_srf_frac(itap, dtime, julien, 1576 * pctsrf, falb1, falb2, ftsol, u10m, v10m, pbl_tke) 1577 1586 1578 1587 1579 ! Tendances bidons pour les processus qui n'affectent pas certaines … … 1725 1717 cIM END 1726 1718 c 1727 c Incrementer le compteur de la physique1728 c1729 itap = itap + 11730 julien = MOD(NINT(xjour),360)1731 if (julien .eq. 0) julien = 3601732 c1733 1719 c Mettre en action les conditions aux limites (albedo, sst, etc.). 1734 1720 c Prescrire l'ozone et calculer l'albedo sur l'ocean. … … 1836 1822 s zxtsol, zxfluxlat, zt2m, qsat2m, 1837 1823 s d_t_vdf, d_q_vdf, d_u_vdf, d_v_vdf, 1838 s ycoefh, pctsrf_new,1824 s ycoefh, slab_wfbils, 1839 1825 d qsol, zq2m, s_pblh, s_lcl, 1840 1826 d s_capCL, s_oliqCL, s_cteiCL,s_pblT, … … 1847 1833 - dsens, devap, zxsnow, 1848 1834 - zxfluxt, zxfluxq, q2m, fluxq, pbl_tke ) 1849 c 1850 c 1851 pctsrf(:,:) = pctsrf_new(:,:) 1835 1852 1836 1853 1837 !----------------------------------------------------------------------------------------- … … 3332 3316 . zxfqcalving, zxfqfonte, zxffonte) 3333 3317 3334 IF (ocean == 'slab') THEN3335 ! Get some variables from module ocean_slab_mod3336 CALL ocean_slab_get_vars(tslab, seaice, fluxo, fluxg)3337 ELSEIF (ocean == 'couple') THEN3338 ! Get some variables from module ocean_cpl_mod3339 CALL ocean_cpl_get_vars(fluxo, fluxg)3340 ELSE3341 ! Get some variables from module ocean_forced_mod3342 CALL ocean_forced_get_vars(fluxo, fluxg)3343 ENDIF3344 3345 3318 3346 3319 c Commente par abderrahmane le 11 2 08
Note: See TracChangeset
for help on using the changeset viewer.