Changeset 3065
- Timestamp:
- Nov 10, 2017, 2:25:09 PM (7 years ago)
- Location:
- LMDZ6/branches/DYNAMICO-conv/libf
- Files:
-
- 4 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/DYNAMICO-conv/libf/misc/handle_err_m.F90
-
Property
svn:keywords
set to
Id
r2094 r3065 39 39 end if 40 40 end if 41 call abort_ gcm("NetCDF95 handle_err", "", 1)41 call abort_physic("NetCDF95 handle_err", "", 1) 42 42 end if 43 43 -
Property
svn:keywords
set to
-
LMDZ6/branches/DYNAMICO-conv/libf/misc/wxios.F90
-
Property
svn:keywords
set to
Id
r3003 r3065 203 203 CASE DEFAULT 204 204 abort_message = 'wxios_set_cal: Mauvais choix de calendrier' 205 CALL abort_ gcm('Gcm:Xios',abort_message,1)205 CALL abort_physic('Gcm:Xios',abort_message,1) 206 206 END SELECT 207 207 -
Property
svn:keywords
set to
-
LMDZ6/branches/DYNAMICO-conv/libf/phy_common/mod_phys_lmdz_omp_data.F90
-
Property
svn:keywords
changed from
Author Date Id Revision
toId
r3049 r3065 61 61 ELSE 62 62 abort_message = 'ANORMAL : OMP_MASTER /= 0' 63 CALL abort_ gcm(modname,abort_message,1)63 CALL abort_physic (modname,abort_message,1) 64 64 ENDIF 65 65 !$OMP END MASTER -
Property
svn:keywords
changed from
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/add_phys_tend_mod.F90
-
Property
svn:keywords
set to
Id
r2848 r3065 1 ! 2 ! $Id$ 3 ! 1 4 ! 2 5 MODULE add_phys_tend_mod … … 82 85 END SUBROUTINE add_pbl_tend 83 86 ! 84 ! $Id : add_phys_tend.F90 2611 2016-08-03 15:41:26Z jyg$87 ! $Id$ 85 88 ! 86 89 SUBROUTINE add_phys_tend (zdu,zdv,zdt,zdq,zdql,zdqi,paprs,text, & … … 98 101 99 102 USE dimphy, ONLY: klon, klev 100 USE phys_state_var_mod, ONLY : dtime103 USE phys_state_var_mod, ONLY : phys_tstep 101 104 USE phys_local_var_mod, ONLY: u_seri, v_seri, ql_seri, qs_seri, q_seri, t_seri 102 105 USE phys_state_var_mod, ONLY: ftsol … … 451 454 ! ------------------------------------------------ 452 455 453 d_qw_col(:) = (zqw_col(:,2)-zqw_col(:,1))/ dtime454 d_ql_col(:) = (zql_col(:,2)-zql_col(:,1))/ dtime455 d_qs_col(:) = (zqs_col(:,2)-zqs_col(:,1))/ dtime456 d_qw_col(:) = (zqw_col(:,2)-zqw_col(:,1))/phys_tstep 457 d_ql_col(:) = (zql_col(:,2)-zql_col(:,1))/phys_tstep 458 d_qs_col(:) = (zqs_col(:,2)-zqs_col(:,1))/phys_tstep 456 459 d_qt_col(:) = d_qw_col(:) + d_ql_col(:) + d_qs_col(:) 457 460 458 d_ek_col(:) = (zek_col(:,2)-zek_col(:,1))/ dtime459 460 d_h_dair_col(:) = (zh_dair_col(:,2)-zh_dair_col(:,1))/ dtime461 d_h_qw_col(:) = (zh_qw_col(:,2)-zh_qw_col(:,1))/ dtime462 d_h_ql_col(:) = (zh_ql_col(:,2)-zh_ql_col(:,1))/ dtime463 d_h_qs_col(:) = (zh_qs_col(:,2)-zh_qs_col(:,1))/ dtime464 465 d_h_col = (zh_col(:,2)-zh_col(:,1))/ dtime461 d_ek_col(:) = (zek_col(:,2)-zek_col(:,1))/phys_tstep 462 463 d_h_dair_col(:) = (zh_dair_col(:,2)-zh_dair_col(:,1))/phys_tstep 464 d_h_qw_col(:) = (zh_qw_col(:,2)-zh_qw_col(:,1))/phys_tstep 465 d_h_ql_col(:) = (zh_ql_col(:,2)-zh_ql_col(:,1))/phys_tstep 466 d_h_qs_col(:) = (zh_qs_col(:,2)-zh_qs_col(:,1))/phys_tstep 467 468 d_h_col = (zh_col(:,2)-zh_col(:,1))/phys_tstep 466 469 467 470 end if ! end if (fl_ebil .GT. 0) … … 494 497 !====================================================================== 495 498 496 USE phys_state_var_mod, ONLY : dtime, ftsol499 USE phys_state_var_mod, ONLY : phys_tstep, ftsol 497 500 USE geometry_mod, ONLY: longitude_deg, latitude_deg 498 501 USE print_control_mod, ONLY: prt_level … … 621 624 ! ------------------------------------------------ 622 625 623 d_qw_col(:) = (zqw_col(:,2)-zqw_col(:,1))/ dtime624 d_ql_col(:) = (zql_col(:,2)-zql_col(:,1))/ dtime625 d_qs_col(:) = (zqs_col(:,2)-zqs_col(:,1))/ dtime626 d_qw_col(:) = (zqw_col(:,2)-zqw_col(:,1))/phys_tstep 627 d_ql_col(:) = (zql_col(:,2)-zql_col(:,1))/phys_tstep 628 d_qs_col(:) = (zqs_col(:,2)-zqs_col(:,1))/phys_tstep 626 629 d_qt_col(:) = d_qw_col(:) + d_ql_col(:) + d_qs_col(:) 627 630 628 d_ek_col(:) = (zek_col(:,2)-zek_col(:,1))/ dtime631 d_ek_col(:) = (zek_col(:,2)-zek_col(:,1))/phys_tstep 629 632 630 633 print *,'zdu ', zdu … … 632 635 print *,'d_ek_col, zek_col(2), zek_col(1) ',d_ek_col(1), zek_col(1,2), zek_col(1,1) 633 636 634 d_h_dair_col(:) = (zh_dair_col(:,2)-zh_dair_col(:,1))/ dtime635 d_h_qw_col(:) = (zh_qw_col(:,2)-zh_qw_col(:,1))/ dtime636 d_h_ql_col(:) = (zh_ql_col(:,2)-zh_ql_col(:,1))/ dtime637 d_h_qs_col(:) = (zh_qs_col(:,2)-zh_qs_col(:,1))/ dtime638 639 d_h_col = (zh_col(:,2)-zh_col(:,1))/ dtime637 d_h_dair_col(:) = (zh_dair_col(:,2)-zh_dair_col(:,1))/phys_tstep 638 d_h_qw_col(:) = (zh_qw_col(:,2)-zh_qw_col(:,1))/phys_tstep 639 d_h_ql_col(:) = (zh_ql_col(:,2)-zh_ql_col(:,1))/phys_tstep 640 d_h_qs_col(:) = (zh_qs_col(:,2)-zh_qs_col(:,1))/phys_tstep 641 642 d_h_col = (zh_col(:,2)-zh_col(:,1))/phys_tstep 640 643 641 644 end if ! end if (fl_ebil .GT. 0) … … 716 719 717 720 USE dimphy, ONLY: klon, klev 718 USE phys_state_var_mod, ONLY : dtime721 USE phys_state_var_mod, ONLY : phys_tstep 719 722 USE phys_state_var_mod, ONLY : topsw, toplw, solsw, sollw, rain_con, snow_con 720 723 USE geometry_mod, ONLY: longitude_deg, latitude_deg -
Property
svn:keywords
set to
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/calcul_divers.h
-
Property
svn:keywords
changed from
Author Date Id Revision
toId
r2825 r3065 1 ! 2 ! $Id$ 3 ! 1 4 ! 2 5 ! $Header$ … … 14 17 15 18 ! Calcul fin de journee : total_rain, nday_rain 16 IF(MOD(itap,NINT(un_jour/ dtime)).EQ.0) THEN19 IF(MOD(itap,NINT(un_jour/phys_tstep)).EQ.0) THEN 17 20 ! print*,'calcul nday_rain itap ',itap 18 21 DO i = 1, klon … … 23 26 24 27 ! Initialisation fin de mois 25 IF(MOD(itap-itapm1,NINT(mth_len*un_jour/ dtime)).EQ.0) THEN26 itapm1=itapm1+NINT(mth_len*un_jour/ dtime)28 IF(MOD(itap-itapm1,NINT(mth_len*un_jour/phys_tstep)).EQ.0) THEN 29 itapm1=itapm1+NINT(mth_len*un_jour/phys_tstep) 27 30 ! print*,'initialisation itapm1 ',itapm1 28 31 ENDIF … … 35 38 t2m_max_mon=0. 36 39 ENDIF 37 IF(MOD(itap,NINT(un_jour/ dtime)).EQ.1) THEN40 IF(MOD(itap,NINT(un_jour/phys_tstep)).EQ.1) THEN 38 41 zt2m_min_mon=zt2m 39 42 zt2m_max_mon=zt2m … … 45 48 ENDDO 46 49 !fin de journee 47 IF(MOD(itap,NINT(un_jour/ dtime)).EQ.0) THEN50 IF(MOD(itap,NINT(un_jour/phys_tstep)).EQ.0) THEN 48 51 t2m_min_mon=t2m_min_mon+zt2m_min_mon 49 52 t2m_max_mon=t2m_max_mon+zt2m_max_mon -
Property
svn:keywords
changed from
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/clesphys.h
-
Property
svn:keywords
changed from
Author Date Id Revision
toId
r2989 r3065 65 65 !IM freq_outNMC : frequences de sortie fichiers niveaux de pression (histmthNMC, histdayNMC, histhfNMC) 66 66 !IM freq_calNMC : frequences de calcul fis. hist*NMC.nc 67 !IM pasphys : pas de temps de physique (secondes)68 REAL pasphys69 67 LOGICAL ok_histNMC(3) 70 68 INTEGER levout_histNMC(3) … … 106 104 & , min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce,f_z0qh_oce & 107 105 & , z0m_seaice,z0h_seaice & 108 & , pasphys , freq_outNMC, freq_calNMC&106 & , freq_outNMC, freq_calNMC & 109 107 & , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins & 110 108 & , freq_ISCCP, ecrit_ISCCP, freq_COSP, freq_AIRS & -
Property
svn:keywords
changed from
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/conf_phys_m.F90
-
Property
svn:keywords
set to
Id
r3022 r3065 1 1 ! 2 ! $Id : conf_phys.F90 1668 2012-10-12 10:47:37Z idelkadi$2 ! $Id$ 3 3 ! 4 4 ! … … 29 29 USE mod_grid_phy_lmdz, ONLY: klon_glo 30 30 USE print_control_mod, ONLY: lunout 31 USE phys_state_var_mod, ONLY: phys_tstep 31 32 32 33 include "conema3.h" … … 1692 1693 !Config Desc = freq_calNMC(2) = frequence de calcul fichiers histdayNMC 1693 1694 !Config Desc = freq_calNMC(3) = frequence de calcul fichiers histhfNMC 1694 !Config Def = p asphys1695 !Config Help = 1696 ! 1697 freq_calNMC_omp(1) = p asphys1698 freq_calNMC_omp(2) = p asphys1699 freq_calNMC_omp(3) = p asphys1695 !Config Def = phys_tstep 1696 !Config Help = 1697 ! 1698 freq_calNMC_omp(1) = phys_tstep 1699 freq_calNMC_omp(2) = phys_tstep 1700 freq_calNMC_omp(3) = phys_tstep 1700 1701 CALL getin('freq_calNMC',freq_calNMC_omp) 1701 1702 ! -
Property
svn:keywords
set to
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/grid_noro_m.F90
-
Property
svn:keywords
set to
Id
r2665 r3065 1 ! 2 ! $Id$ 3 ! 1 4 MODULE grid_noro_m 2 5 ! … … 334 337 imar=assert_eq(SIZE(x),SIZE(zphi,1),SIZE(mask,1),TRIM(modname)//" imar")-1 335 338 jmar=assert_eq(SIZE(y),SIZE(zphi,2),SIZE(mask,2),TRIM(modname)//" jmar") 336 ! IF(imar/=iim) CALL abort_gcm(TRIM(modname),'imar/=iim' ,1)337 ! IF(jmar/=jjm+1) CALL abort_gcm(TRIM(modname),'jmar/=jjm+1',1)338 339 iext=imdp/10 339 340 xpi = ACOS(-1.) -
Property
svn:keywords
set to
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/ini_undefSTD.F90
-
Property
svn:keywords
changed from
Author Date Id Revision
toId
r2346 r3065 55 55 56 56 IF (n==1 .AND. itap-itapm1==1 .OR. n>1 .AND. mod(itap,nint( & 57 freq_outnmc(n)/ dtime))==1) THEN57 freq_outnmc(n)/phys_tstep))==1) THEN 58 58 ! print*,'ini_undefSTD n itap',n,itap 59 59 DO k = 1, nlevstd -
Property
svn:keywords
changed from
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/moy_undefSTD.F90
-
Property
svn:keywords
changed from
Author Date Id Revision
toId
r2380 r3065 75 75 76 76 IF (n==1 .AND. itap==itapm1 .OR. n>1 .AND. mod(itap,nint(freq_outnmc(n)/ & 77 dtime))==0) THEN77 phys_tstep))==0) THEN 78 78 79 79 ! print*,'moy_undefSTD n itap itapm1',n,itap,itapm1 … … 140 140 END DO !i 141 141 END DO !k 142 END IF !MOD(itap,NINT(freq_outNMC(n)/ dtime)).EQ.0142 END IF !MOD(itap,NINT(freq_outNMC(n)/phys_tstep)).EQ.0 143 143 144 144 END DO !n -
Property
svn:keywords
changed from
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/phyetat0.F90
-
Property
svn:keywords
changed from
Author Date Id Revision
toId
r3000 r3065 9 9 USE pbl_surface_mod, ONLY : pbl_surface_init 10 10 USE surface_data, ONLY : type_ocean, version_ocean 11 USE phys_state_var_mod, ONLY : ancien_ok, clwcon, detr_therm, dtime, &11 USE phys_state_var_mod, ONLY : ancien_ok, clwcon, detr_therm, phys_tstep, & 12 12 qsol, fevap, z0m, z0h, agesno, & 13 13 du_gwd_rando, du_gwd_front, entr_therm, f0, fm_therm, & … … 466 466 467 467 IF ( type_ocean == 'slab' ) THEN 468 CALL ocean_slab_init( dtime, pctsrf)468 CALL ocean_slab_init(phys_tstep, pctsrf) 469 469 IF (nslay.EQ.1) THEN 470 470 found=phyetat0_get(1,tslab,"tslab01","tslab",0.) … … 515 515 ! Initialize module ocean_cpl_mod for the case of coupled ocean 516 516 IF ( type_ocean == 'couple' ) THEN 517 CALL ocean_cpl_init( dtime, longitude_deg, latitude_deg)517 CALL ocean_cpl_init(phys_tstep, longitude_deg, latitude_deg) 518 518 ENDIF 519 519 -
Property
svn:keywords
changed from
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/phys_state_var_mod.F90
-
Property
svn:keywords
changed from
Author Date Id Revision
toId
r2952 r3065 23 23 !$OMP THREADPRIVATE(cvpas) 24 24 !$OMP THREADPRIVATE(wkpas) 25 REAL, SAVE :: dtime, solaire_etat026 !$OMP THREADPRIVATE( dtime, solaire_etat0)25 REAL, SAVE :: phys_tstep, solaire_etat0 26 !$OMP THREADPRIVATE(phys_tstep, solaire_etat0) 27 27 28 28 REAL, ALLOCATABLE, SAVE :: pctsrf(:,:) -
Property
svn:keywords
changed from
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/physiq_mod.F90
-
Property
svn:keywords
changed from
Author Date Id Revision
toId
r3011 r3065 1113 1113 !albedo SB >>> 1114 1114 real,dimension(6),save :: SFRWL 1115 !$OMP THREADPRIVATE(SFRWL) 1115 1116 !albedo SB <<< 1116 1117 … … 1165 1166 CALL phys_local_var_init 1166 1167 ! 1167 pasphys=pdtphys1168 1168 ! appel a la lecture du run.def physique 1169 1169 CALL conf_phys(ok_journe, ok_mensuel, & … … 1354 1354 ! pour obtenir le meme resultat. 1355 1355 !jyg for fh< 1356 !! dtime=pdtphys 1357 dtime=NINT(pdtphys) 1358 WRITE(lunout,*) 'Pas de temps dtime pdtphys ',dtime,pdtphys 1359 IF (abs(dtime-pdtphys)>1.e-10) THEN 1356 phys_tstep=NINT(pdtphys) 1357 WRITE(lunout,*) 'Pas de temps phys_tstep pdtphys ',phys_tstep,pdtphys 1358 IF (abs(phys_tstep-pdtphys)>1.e-10) THEN 1360 1359 abort_message='pas de temps doit etre entier en seconde pour orchidee et XIOS' 1361 1360 CALL abort_physic(modname,abort_message,1) 1362 1361 ENDIF 1363 1362 !>jyg 1364 IF (MOD(NINT(86400./ dtime),nbapp_rad).EQ.0) THEN1365 radpas = NINT( 86400./ dtime)/nbapp_rad1363 IF (MOD(NINT(86400./phys_tstep),nbapp_rad).EQ.0) THEN 1364 radpas = NINT( 86400./phys_tstep)/nbapp_rad 1366 1365 ELSE 1367 1366 WRITE(lunout,*) 'le nombre de pas de temps physique doit etre un ', & … … 1373 1372 CALL abort_physic(modname,abort_message,1) 1374 1373 ENDIF 1375 IF (nbapp_cv .EQ. 0) nbapp_cv=86400./ dtime1376 IF (nbapp_wk .EQ. 0) nbapp_wk=86400./ dtime1374 IF (nbapp_cv .EQ. 0) nbapp_cv=86400./phys_tstep 1375 IF (nbapp_wk .EQ. 0) nbapp_wk=86400./phys_tstep 1377 1376 print *,'physiq, nbapp_cv, nbapp_wk ',nbapp_cv,nbapp_wk 1378 IF (MOD(NINT(86400./ dtime),nbapp_cv).EQ.0) THEN1379 cvpas = NINT( 86400./ dtime)/nbapp_cv1377 IF (MOD(NINT(86400./phys_tstep),nbapp_cv).EQ.0) THEN 1378 cvpas = NINT( 86400./phys_tstep)/nbapp_cv 1380 1379 print *,'physiq, cvpas ',cvpas 1381 1380 ELSE … … 1388 1387 call abort_physic(modname,abort_message,1) 1389 1388 ENDIF 1390 IF (MOD(NINT(86400./ dtime),nbapp_wk).EQ.0) THEN1391 wkpas = NINT( 86400./ dtime)/nbapp_wk1389 IF (MOD(NINT(86400./phys_tstep),nbapp_wk).EQ.0) THEN 1390 wkpas = NINT( 86400./phys_tstep)/nbapp_wk 1392 1391 print *,'physiq, wkpas ',wkpas 1393 1392 ELSE … … 1431 1430 ok_instan, ok_region ) 1432 1431 ! 1433 IF (ABS(dtime-pdtphys).GT.0.001) THEN1434 WRITE(lunout,*) 'Pas physique n est pas correct',dtime, &1435 pdtphys1436 abort_message='Pas physique n est pas correct '1437 ! call abort_physic(modname,abort_message,1)1438 dtime=pdtphys1439 ENDIF1432 ! IF (ABS(phys_tstep-pdtphys).GT.0.001) THEN 1433 ! WRITE(lunout,*) 'Pas physique n est pas correct',phys_tstep, & 1434 ! pdtphys 1435 ! abort_message='Pas physique n est pas correct ' 1436 ! ! call abort_physic(modname,abort_message,1) 1437 ! phys_tstep=pdtphys 1438 ! ENDIF 1440 1439 IF (nlon .NE. klon) THEN 1441 1440 WRITE(lunout,*)'nlon et klon ne sont pas coherents', nlon, & … … 1451 1450 ENDIF 1452 1451 ! 1453 IF ( dtime*REAL(radpas).GT.21600..AND.iflag_cycle_diurne.GE.1) THEN1452 IF (phys_tstep*REAL(radpas).GT.21600..AND.iflag_cycle_diurne.GE.1) THEN 1454 1453 WRITE(lunout,*)'Nbre d appels au rayonnement insuffisant' 1455 1454 WRITE(lunout,*)"Au minimum 4 appels par jour si cycle diurne" … … 1597 1596 ! 1598 1597 ! 1599 lmt_pas = NINT(86400./ dtime* 1.0) ! tous les jours1598 lmt_pas = NINT(86400./phys_tstep * 1.0) ! tous les jours 1600 1599 WRITE(lunout,*)'La frequence de lecture surface est de ', & 1601 1600 lmt_pas … … 1649 1648 CALL phys_output_open(longitude_deg,latitude_deg,nCFMIP,tabijGCM, & 1650 1649 iGCM,jGCM,lonGCM,latGCM, & 1651 jjmp1,nlevSTD,clevSTD,rlevSTD, dtime,ok_veget, &1650 jjmp1,nlevSTD,clevSTD,rlevSTD, phys_tstep,ok_veget, & 1652 1651 type_ocean,iflag_pbl,iflag_pbl_split,ok_mensuel,ok_journe, & 1653 1652 ok_hf,ok_instan,ok_LES,ok_ade,ok_aie, & … … 1669 1668 1670 1669 #ifndef CPP_XIOS 1671 CALL ini_paramLMDZ_phy( dtime,nid_ctesGCM)1670 CALL ini_paramLMDZ_phy(phys_tstep,nid_ctesGCM) 1672 1671 #endif 1673 1672 … … 1810 1809 ! on the surface fraction. 1811 1810 ! 1812 CALL change_srf_frac(itap, dtime, days_elapsed+1, &1811 CALL change_srf_frac(itap, phys_tstep, days_elapsed+1, & 1813 1812 pctsrf, fevap, z0m, z0h, agesno, & 1814 1813 falb_dir, falb_dif, ftsol, ustar, u10m, v10m, pbl_tke) … … 1935 1934 IF (ancien_ok) THEN 1936 1935 ! 1937 d_u_dyn(:,:) = (u_seri(:,:)-u_ancien(:,:))/ dtime1938 d_v_dyn(:,:) = (v_seri(:,:)-v_ancien(:,:))/ dtime1939 d_t_dyn(:,:) = (t_seri(:,:)-t_ancien(:,:))/ dtime1940 d_q_dyn(:,:) = (q_seri(:,:)-q_ancien(:,:))/ dtime1941 d_ql_dyn(:,:) = (ql_seri(:,:)-ql_ancien(:,:))/ dtime1942 d_qs_dyn(:,:) = (qs_seri(:,:)-qs_ancien(:,:))/ dtime1936 d_u_dyn(:,:) = (u_seri(:,:)-u_ancien(:,:))/phys_tstep 1937 d_v_dyn(:,:) = (v_seri(:,:)-v_ancien(:,:))/phys_tstep 1938 d_t_dyn(:,:) = (t_seri(:,:)-t_ancien(:,:))/phys_tstep 1939 d_q_dyn(:,:) = (q_seri(:,:)-q_ancien(:,:))/phys_tstep 1940 d_ql_dyn(:,:) = (ql_seri(:,:)-ql_ancien(:,:))/phys_tstep 1941 d_qs_dyn(:,:) = (qs_seri(:,:)-qs_ancien(:,:))/phys_tstep 1943 1942 CALL water_int(klon,klev,q_seri,zmasse,zx_tmp_fi2d) 1944 d_q_dyn2d(:)=(zx_tmp_fi2d(:)-prw_ancien(:))/ dtime1943 d_q_dyn2d(:)=(zx_tmp_fi2d(:)-prw_ancien(:))/phys_tstep 1945 1944 CALL water_int(klon,klev,ql_seri,zmasse,zx_tmp_fi2d) 1946 d_ql_dyn2d(:)=(zx_tmp_fi2d(:)-prlw_ancien(:))/ dtime1945 d_ql_dyn2d(:)=(zx_tmp_fi2d(:)-prlw_ancien(:))/phys_tstep 1947 1946 CALL water_int(klon,klev,qs_seri,zmasse,zx_tmp_fi2d) 1948 d_qs_dyn2d(:)=(zx_tmp_fi2d(:)-prsw_ancien(:))/ dtime1947 d_qs_dyn2d(:)=(zx_tmp_fi2d(:)-prsw_ancien(:))/phys_tstep 1949 1948 ! !! RomP >>> td dyn traceur 1950 1949 IF (nqtot.GT.nqo) THEN ! jyg 1951 1950 DO iq = nqo+1, nqtot ! jyg 1952 d_tr_dyn(:,:,iq-nqo)=(tr_seri(:,:,iq-nqo)-tr_ancien(:,:,iq-nqo))/ dtime! jyg1951 d_tr_dyn(:,:,iq-nqo)=(tr_seri(:,:,iq-nqo)-tr_ancien(:,:,iq-nqo))/phys_tstep ! jyg 1953 1952 ENDDO 1954 1953 ENDIF … … 2126 2125 ! bit comparable a l ancienne formulation cycle_diurne=true 2127 2126 ! on integre entre gmtime et gmtime+radpas 2128 zdtime= dtime*REAL(radpas) ! pas de temps du rayonnement (s)2127 zdtime=phys_tstep*REAL(radpas) ! pas de temps du rayonnement (s) 2129 2128 CALL zenang(zlongi,jH_cur,0.0,zdtime, & 2130 2129 latitude_deg,longitude_deg,rmu0,fract) … … 2143 2142 ! premier pas de temps de la physique pendant lequel 2144 2143 ! itaprad=0 2145 zdtime1= dtime*REAL(-MOD(itaprad,radpas)-1)2146 zdtime2= dtime*REAL(radpas-MOD(itaprad,radpas)-1)2144 zdtime1=phys_tstep*REAL(-MOD(itaprad,radpas)-1) 2145 zdtime2=phys_tstep*REAL(radpas-MOD(itaprad,radpas)-1) 2147 2146 CALL zenang(zlongi,jH_cur,zdtime1,zdtime2, & 2148 2147 latitude_deg,longitude_deg,rmu0,fract) … … 2150 2149 ! Calcul des poids 2151 2150 ! 2152 zdtime1=- dtime!--on corrige le rayonnement pour representer le2151 zdtime1=-phys_tstep !--on corrige le rayonnement pour representer le 2153 2152 zdtime2=0.0 !--pas de temps de la physique qui se termine 2154 2153 CALL zenang(zlongi,jH_cur,zdtime1,zdtime2, & … … 2225 2224 2226 2225 CALL pbl_surface( & 2227 dtime, date0, itap, days_elapsed+1, &2226 phys_tstep, date0, itap, days_elapsed+1, & 2228 2227 debut, lafin, & 2229 2228 longitude_deg, latitude_deg, rugoro, zrmu0, & … … 2392 2391 DO i = 1, klon 2393 2392 conv_q(i,k) = d_q_dyn(i,k) & 2394 + d_q_vdf(i,k)/ dtime2393 + d_q_vdf(i,k)/phys_tstep 2395 2394 conv_t(i,k) = d_t_dyn(i,k) & 2396 + d_t_vdf(i,k)/ dtime2395 + d_t_vdf(i,k)/phys_tstep 2397 2396 ENDDO 2398 2397 ENDDO … … 2432 2431 abort_message ='reactiver le call conlmd dans physiq.F' 2433 2432 CALL abort_physic (modname,abort_message,1) 2434 ! CALL conlmd ( dtime, paprs, pplay, t_seri, q_seri, conv_q,2433 ! CALL conlmd (phys_tstep, paprs, pplay, t_seri, q_seri, conv_q, 2435 2434 ! . d_t_con, d_q_con, 2436 2435 ! . rain_con, snow_con, ibas_con, itop_con) 2437 2436 ELSE IF (iflag_con.EQ.2) THEN 2438 CALL conflx( dtime, paprs, pplay, t_seri, q_seri, &2437 CALL conflx(phys_tstep, paprs, pplay, t_seri, q_seri, & 2439 2438 conv_t, conv_q, -evap, omega, & 2440 2439 d_t_con, d_q_con, rain_con, snow_con, & … … 2512 2511 2513 2512 !jyg< 2514 CALL alpale( debut, itap, dtime, paprs, omega, t_seri, &2513 CALL alpale( debut, itap, phys_tstep, paprs, omega, t_seri, & 2515 2514 alp_offset, it_wape_prescr, wape_prescr, fip_prescr, & 2516 2515 ale_bl_prescr, alp_bl_prescr, & … … 2549 2548 !c CALL concvl (iflag_con,iflag_clos, 2550 2549 CALL concvl (iflag_clos, & 2551 dtime, paprs, pplay, k_upper_cv, t_x,q_x, &2550 phys_tstep, paprs, pplay, k_upper_cv, t_x,q_x, & 2552 2551 t_w,q_w,wake_s, & 2553 2552 u_seri,v_seri,tr_seri,nbtr_tmp, & … … 2588 2587 DO k=1,klev 2589 2588 DO i=1,klon 2590 ftd(i,k) = ftd(i,k) + wake_s(i)*d_t_adjwk(i,k)/ dtime2591 fqd(i,k) = fqd(i,k) + wake_s(i)*d_q_adjwk(i,k)/ dtime2589 ftd(i,k) = ftd(i,k) + wake_s(i)*d_t_adjwk(i,k)/phys_tstep 2590 fqd(i,k) = fqd(i,k) + wake_s(i)*d_q_adjwk(i,k)/phys_tstep 2592 2591 d_t_con(i,k) = d_t_con(i,k) + wake_s(i)*d_t_adjwk(i,k) 2593 2592 d_q_con(i,k) = d_q_con(i,k) + wake_s(i)*d_q_adjwk(i,k) … … 2601 2600 2602 2601 ! MAF conema3 ne contient pas les traceurs 2603 CALL conema3 ( dtime, &2602 CALL conema3 (phys_tstep, & 2604 2603 paprs,pplay,t_seri,q_seri, & 2605 2604 u_seri,v_seri,tr_seri,ntra, & … … 2725 2724 snow_con(i))*cell_area(i)/REAL(klon) 2726 2725 ENDDO 2727 zx_t = zx_t/za* dtime2726 zx_t = zx_t/za*phys_tstep 2728 2727 WRITE(lunout,*)"Precip=", zx_t 2729 2728 ENDIF … … 2739 2738 ENDDO 2740 2739 DO i = 1, klon 2741 z_factor(i) = (z_avant(i)-(rain_con(i)+snow_con(i))* dtime) &2740 z_factor(i) = (z_avant(i)-(rain_con(i)+snow_con(i))*phys_tstep) & 2742 2741 /z_apres(i) 2743 2742 ENDDO … … 2776 2775 M_dwn(i,k) = dnwd0(i,k) 2777 2776 M_up(i,k) = upwd(i,k) 2778 dt_a(i,k) = d_t_con(i,k)/ dtime- ftd(i,k)2779 dq_a(i,k) = d_q_con(i,k)/ dtime- fqd(i,k)2777 dt_a(i,k) = d_t_con(i,k)/phys_tstep - ftd(i,k) 2778 dq_a(i,k) = d_q_con(i,k)/phys_tstep - fqd(i,k) 2780 2779 ENDDO 2781 2780 ENDDO … … 2785 2784 DO k = 1,klev 2786 2785 dt_dwn(:,k)= dt_dwn(:,k)+ & 2787 ok_wk_lsp(:)*(d_t_eva(:,k)+d_t_lsc(:,k))/ dtime2786 ok_wk_lsp(:)*(d_t_eva(:,k)+d_t_lsc(:,k))/phys_tstep 2788 2787 dq_dwn(:,k)= dq_dwn(:,k)+ & 2789 ok_wk_lsp(:)*(d_q_eva(:,k)+d_q_lsc(:,k))/ dtime2788 ok_wk_lsp(:)*(d_q_eva(:,k)+d_q_lsc(:,k))/phys_tstep 2790 2789 ENDDO 2791 2790 ELSEIF (iflag_wake==3) THEN … … 2798 2797 ! l'eau se reevapore). 2799 2798 dt_dwn(i,k)= dt_dwn(i,k)+ & 2800 ok_wk_lsp(i)*d_t_lsc(i,k)/ dtime2799 ok_wk_lsp(i)*d_t_lsc(i,k)/phys_tstep 2801 2800 dq_dwn(i,k)= dq_dwn(i,k)+ & 2802 ok_wk_lsp(i)*d_q_lsc(i,k)/ dtime2801 ok_wk_lsp(i)*d_q_lsc(i,k)/phys_tstep 2803 2802 ENDIF 2804 2803 ENDDO … … 2808 2807 ! 2809 2808 !calcul caracteristiques de la poche froide 2810 CALL calWAKE (iflag_wake_tend, paprs, pplay, dtime, &2809 CALL calWAKE (iflag_wake_tend, paprs, pplay, phys_tstep, & 2811 2810 t_seri, q_seri, omega, & 2812 2811 dt_dwn, dq_dwn, M_dwn, M_up, & … … 2849 2848 IF (iflag_alp_wk_cond .GT. 0.) THEN 2850 2849 2851 CALL alpale_wk( dtime, cell_area, wake_k, wake_s, wake_dens, wake_fip_0, &2850 CALL alpale_wk(phys_tstep, cell_area, wake_k, wake_s, wake_dens, wake_fip_0, & 2852 2851 wake_fip) 2853 2852 ELSE … … 2984 2983 ! 2985 2984 ! 2986 CALL alpale_th( dtime, lmax_th, t_seri, cell_area, &2985 CALL alpale_th( phys_tstep, lmax_th, t_seri, cell_area, & 2987 2986 cin, s2, n2, & 2988 2987 ale_bl_trig, ale_bl_stat, ale_bl, & … … 3074 3073 ENDIF 3075 3074 ! 3076 CALL fisrtilp( dtime,paprs,pplay, &3075 CALL fisrtilp(phys_tstep,paprs,pplay, & 3077 3076 t_seri, q_seri,ptconv,ratqs, & 3078 3077 d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, cldliq, & … … 3134 3133 + snow_lsc(i))*cell_area(i)/REAL(klon) 3135 3134 ENDDO 3136 zx_t = zx_t/za* dtime3135 zx_t = zx_t/za*phys_tstep 3137 3136 WRITE(lunout,*)"Precip=", zx_t 3138 3137 ENDIF … … 3354 3353 calday = REAL(days_elapsed + 1) + jH_cur 3355 3354 3356 CALL chemtime(itap+itau_phy-1, date0, dtime, itap)3355 CALL chemtime(itap+itau_phy-1, date0, phys_tstep, itap) 3357 3356 IF (config_inca == 'aero' .OR. config_inca == 'aeNP') THEN 3358 3357 CALL AEROSOL_METEO_CALC( & … … 3877 3876 3878 3877 DO k=1, klev 3879 d_t_swr(:,k)=swradcorr(:)*heat(:,k)* dtime/RDAY3880 d_t_sw0(:,k)=swradcorr(:)*heat0(:,k)* dtime/RDAY3881 d_t_lwr(:,k)=-cool(:,k)* dtime/RDAY3882 d_t_lw0(:,k)=-cool0(:,k)* dtime/RDAY3878 d_t_swr(:,k)=swradcorr(:)*heat(:,k)*phys_tstep/RDAY 3879 d_t_sw0(:,k)=swradcorr(:)*heat0(:,k)*phys_tstep/RDAY 3880 d_t_lwr(:,k)=-cool(:,k)*phys_tstep/RDAY 3881 d_t_lw0(:,k)=-cool0(:,k)*phys_tstep/RDAY 3883 3882 ENDDO 3884 3883 … … 3936 3935 IF (ok_strato) THEN 3937 3936 3938 CALL drag_noro_strato(0,klon,klev, dtime,paprs,pplay, &3937 CALL drag_noro_strato(0,klon,klev,phys_tstep,paprs,pplay, & 3939 3938 zmea,zstd, zsig, zgam, zthe,zpic,zval, & 3940 3939 igwd,idx,itest, & … … 3944 3943 3945 3944 ELSE 3946 CALL drag_noro(klon,klev, dtime,paprs,pplay, &3945 CALL drag_noro(klon,klev,phys_tstep,paprs,pplay, & 3947 3946 zmea,zstd, zsig, zgam, zthe,zpic,zval, & 3948 3947 igwd,idx,itest, & … … 3985 3984 IF (ok_strato) THEN 3986 3985 3987 CALL lift_noro_strato(klon,klev, dtime,paprs,pplay, &3986 CALL lift_noro_strato(klon,klev,phys_tstep,paprs,pplay, & 3988 3987 latitude_deg,zmea,zstd,zpic,zgam,zthe,zpic,zval, & 3989 3988 igwd,idx,itest, & … … 3993 3992 3994 3993 ELSE 3995 CALL lift_noro(klon,klev, dtime,paprs,pplay, &3994 CALL lift_noro(klon,klev,phys_tstep,paprs,pplay, & 3996 3995 latitude_deg,zmea,zstd,zpic, & 3997 3996 itest, & … … 4013 4012 du_gwd_hines=0. 4014 4013 dv_gwd_hines=0. 4015 CALL hines_gwd(klon, klev, dtime, paprs, pplay, latitude_deg, t_seri, &4014 CALL hines_gwd(klon, klev, phys_tstep, paprs, pplay, latitude_deg, t_seri, & 4016 4015 u_seri, v_seri, zustr_gwd_hines, zvstr_gwd_hines, d_t_hin, & 4017 4016 du_gwd_hines, dv_gwd_hines) … … 4019 4018 zvstr_gwd_hines=0. 4020 4019 DO k = 1, klev 4021 zustr_gwd_hines(:)=zustr_gwd_hines(:)+ du_gwd_hines(:, k)/ dtime&4020 zustr_gwd_hines(:)=zustr_gwd_hines(:)+ du_gwd_hines(:, k)/phys_tstep & 4022 4021 * (paprs(:, k)-paprs(:, k+1))/rg 4023 zvstr_gwd_hines(:)=zvstr_gwd_hines(:)+ dv_gwd_hines(:, k)/ dtime&4022 zvstr_gwd_hines(:)=zvstr_gwd_hines(:)+ dv_gwd_hines(:, k)/phys_tstep & 4024 4023 * (paprs(:, k)-paprs(:, k+1))/rg 4025 4024 ENDDO … … 4032 4031 4033 4032 IF (.not. ok_hines .and. ok_gwd_rando) then 4034 CALL acama_GWD_rando( DTIME, pplay, latitude_deg, t_seri, u_seri, &4033 CALL acama_GWD_rando(PHYS_TSTEP, pplay, latitude_deg, t_seri, u_seri, & 4035 4034 v_seri, rot, zustr_gwd_front, zvstr_gwd_front, du_gwd_front, & 4036 4035 dv_gwd_front, east_gwstress, west_gwstress) … … 4038 4037 zvstr_gwd_front=0. 4039 4038 DO k = 1, klev 4040 zustr_gwd_front(:)=zustr_gwd_front(:)+ du_gwd_front(:, k)/ dtime&4039 zustr_gwd_front(:)=zustr_gwd_front(:)+ du_gwd_front(:, k)/phys_tstep & 4041 4040 * (paprs(:, k)-paprs(:, k+1))/rg 4042 zvstr_gwd_front(:)=zvstr_gwd_front(:)+ dv_gwd_front(:, k)/ dtime&4041 zvstr_gwd_front(:)=zvstr_gwd_front(:)+ dv_gwd_front(:, k)/phys_tstep & 4043 4042 * (paprs(:, k)-paprs(:, k+1))/rg 4044 4043 ENDDO … … 4050 4049 4051 4050 IF (ok_gwd_rando) THEN 4052 CALL FLOTT_GWD_rando( DTIME, pplay, t_seri, u_seri, v_seri, &4051 CALL FLOTT_GWD_rando(PHYS_TSTEP, pplay, t_seri, u_seri, v_seri, & 4053 4052 rain_fall + snow_fall, zustr_gwd_rando, zvstr_gwd_rando, & 4054 4053 du_gwd_rando, dv_gwd_rando, east_gwstress, west_gwstress) … … 4059 4058 zvstr_gwd_rando=0. 4060 4059 DO k = 1, klev 4061 zustr_gwd_rando(:)=zustr_gwd_rando(:)+ du_gwd_rando(:, k)/ dtime&4060 zustr_gwd_rando(:)=zustr_gwd_rando(:)+ du_gwd_rando(:, k)/phys_tstep & 4062 4061 * (paprs(:, k)-paprs(:, k+1))/rg 4063 zvstr_gwd_rando(:)=zvstr_gwd_rando(:)+ dv_gwd_rando(:, k)/ dtime&4062 zvstr_gwd_rando(:)=zvstr_gwd_rando(:)+ dv_gwd_rando(:, k)/phys_tstep & 4064 4063 * (paprs(:, k)-paprs(:, k+1))/rg 4065 4064 ENDDO … … 4081 4080 DO k = 1, klev 4082 4081 DO i = 1, klon 4083 zustrph(i)=zustrph(i)+(u_seri(i,k)-u(i,k))/ dtime* &4082 zustrph(i)=zustrph(i)+(u_seri(i,k)-u(i,k))/phys_tstep* & 4084 4083 (paprs(i,k)-paprs(i,k+1))/rg 4085 zvstrph(i)=zvstrph(i)+(v_seri(i,k)-v(i,k))/ dtime* &4084 zvstrph(i)=zvstrph(i)+(v_seri(i,k)-v(i,k))/phys_tstep* & 4086 4085 (paprs(i,k)-paprs(i,k+1))/rg 4087 4086 ENDDO … … 4104 4103 CALL METHOX(1,klon,klon,klev,q_seri,d_q_ch4,pplay) 4105 4104 ! ajout de la tendance d'humidite due au methane 4106 d_q_ch4_dtime(:,:) = d_q_ch4(:,:)* dtime4105 d_q_ch4_dtime(:,:) = d_q_ch4(:,:)*phys_tstep 4107 4106 CALL add_phys_tend(du0, dv0, dt0, d_q_ch4_dtime, dql0, dqi0, paprs, & 4108 4107 'q_ch4', abortphy,flag_inhib_tend,itap,0) 4109 d_q_ch4(:,:) = d_q_ch4_dtime(:,:)/ dtime4108 d_q_ch4(:,:) = d_q_ch4_dtime(:,:)/phys_tstep 4110 4109 ENDIF 4111 4110 ! … … 4195 4194 4196 4195 4197 CALL drag_noro_strato(addtkeoro,klon,klev, dtime,paprs,pplay, &4196 CALL drag_noro_strato(addtkeoro,klon,klev,phys_tstep,paprs,pplay, & 4198 4197 zmea,zstd, zsig, zgam, zthe,zpic,zval, & 4199 4198 igwd,idx,itest, & … … 4236 4235 ! adeclarer 4237 4236 #ifdef CPP_COSP 4238 IF (itap.eq.1.or.MOD(itap,NINT(freq_cosp/ dtime)).EQ.0) THEN4237 IF (itap.eq.1.or.MOD(itap,NINT(freq_cosp/phys_tstep)).EQ.0) THEN 4239 4238 4240 4239 IF (prt_level .GE.10) THEN … … 4244 4243 ! print*,'Dans physiq.F avant appel cosp ref_liq,ref_ice=', 4245 4244 ! s ref_liq,ref_ice 4246 CALL phys_cosp(itap, dtime,freq_cosp, &4245 CALL phys_cosp(itap,phys_tstep,freq_cosp, & 4247 4246 ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP, & 4248 4247 ecrit_mth,ecrit_day,ecrit_hf, ok_all_xml, missing_val, & … … 4273 4272 IF (ok_airs) then 4274 4273 4275 IF (itap.eq.1.or.MOD(itap,NINT(freq_airs/ dtime)).EQ.0) THEN4274 IF (itap.eq.1.or.MOD(itap,NINT(freq_airs/phys_tstep)).EQ.0) THEN 4276 4275 write(*,*) 'je vais appeler simu_airs, ok_airs, freq_airs=', ok_airs, freq_airs 4277 4276 CALL simu_airs(itap,rneb, t_seri, cldemi, fiwc, ref_ice, pphi, pplay, paprs,& … … 4328 4327 CALL phytrac ( & 4329 4328 itap, days_elapsed+1, jH_cur, debut, & 4330 lafin, dtime, u, v, t, &4329 lafin, phys_tstep, u, v, t, & 4331 4330 paprs, pplay, pmfu, pmfd, & 4332 4331 pen_u, pde_u, pen_d, pde_d, & … … 4363 4362 cdragh,coefh(1:klon,1:klev,is_ave),u1,v1,ftsol,pctsrf, & 4364 4363 frac_impa, frac_nucl, & 4365 pphis,cell_area, dtime,itap, &4364 pphis,cell_area,phys_tstep,itap, & 4366 4365 qx(:,:,ivap),da,phi,mp,upwd,dnwd) 4367 4366 … … 4434 4433 4435 4434 CALL chemhook_end ( & 4436 dtime, &4435 phys_tstep, & 4437 4436 pplay, & 4438 4437 t_seri, & … … 4469 4468 DO k = 1, klev 4470 4469 DO i = 1, klon 4471 d_u(i,k) = ( u_seri(i,k) - u(i,k) ) / dtime4472 d_v(i,k) = ( v_seri(i,k) - v(i,k) ) / dtime4473 d_t(i,k) = ( t_seri(i,k)-t(i,k) ) / dtime4474 d_qx(i,k,ivap) = ( q_seri(i,k) - qx(i,k,ivap) ) / dtime4475 d_qx(i,k,iliq) = ( ql_seri(i,k) - qx(i,k,iliq) ) / dtime4470 d_u(i,k) = ( u_seri(i,k) - u(i,k) ) / phys_tstep 4471 d_v(i,k) = ( v_seri(i,k) - v(i,k) ) / phys_tstep 4472 d_t(i,k) = ( t_seri(i,k)-t(i,k) ) / phys_tstep 4473 d_qx(i,k,ivap) = ( q_seri(i,k) - qx(i,k,ivap) ) / phys_tstep 4474 d_qx(i,k,iliq) = ( ql_seri(i,k) - qx(i,k,iliq) ) / phys_tstep 4476 4475 !CR: on ajoute le contenu en glace 4477 4476 IF (nqo.eq.3) THEN 4478 d_qx(i,k,isol) = ( qs_seri(i,k) - qx(i,k,isol) ) / dtime4477 d_qx(i,k,isol) = ( qs_seri(i,k) - qx(i,k,isol) ) / phys_tstep 4479 4478 ENDIF 4480 4479 ENDDO … … 4488 4487 DO k = 1, klev 4489 4488 DO i = 1, klon 4490 ! d_qx(i,k,iq) = ( tr_seri(i,k,iq-2) - qx(i,k,iq) ) / dtime4491 d_qx(i,k,iq) = ( tr_seri(i,k,iq-nqo) - qx(i,k,iq) ) / dtime4489 ! d_qx(i,k,iq) = ( tr_seri(i,k,iq-2) - qx(i,k,iq) ) / phys_tstep 4490 d_qx(i,k,iq) = ( tr_seri(i,k,iq-nqo) - qx(i,k,iq) ) / phys_tstep 4492 4491 ENDDO 4493 4492 ENDDO -
Property
svn:keywords
changed from
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/undefSTD.F90
-
Property
svn:keywords
changed from
Author Date Id Revision
toId
r2346 r3065 43 43 ! PARAMETER(klevSTD=17) 44 44 INTEGER itap 45 ! REAL dtime46 45 47 46 ! variables locales … … 67 66 68 67 69 ! calcul variables tous les freq_calNMC(n)/ dtimepas de temps68 ! calcul variables tous les freq_calNMC(n)/phys_tstep pas de temps 70 69 ! de la physique 71 70 72 IF (mod(itap,nint(freq_calnmc(n)/ dtime))==0) THEN71 IF (mod(itap,nint(freq_calnmc(n)/phys_tstep))==0) THEN 73 72 DO k = 1, nlevstd 74 73 DO i = 1, klon … … 103 102 END DO !k 104 103 105 END IF !MOD(itap,NINT(freq_calNMC(n)/ dtime)).EQ.0104 END IF !MOD(itap,NINT(freq_calNMC(n)/phys_tstep)).EQ.0 106 105 107 106 END DO !n -
Property
svn:keywords
changed from
Note: See TracChangeset
for help on using the changeset viewer.