- Timestamp:
- Dec 29, 2024, 12:41:42 AM (4 days ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d/replay3d.f90
r5285 r5458 18 18 grossismx, grossismy, dzoomx, dzoomy,taux,tauy 19 19 USE mod_const_mpi, ONLY: comm_lmdz 20 USE ioipsl, only: getin 21 20 22 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 21 23 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique … … 26 28 USE dimensions_mod, ONLY: iim, jjm, llm, ndm 27 29 USE paramet_mod_h 30 28 31 IMPLICIT NONE 29 32 … … 71 74 72 75 integer :: ntime=10000,it,klon,klev 76 77 character*20 :: lmax_replay 73 78 74 79 … … 162 167 163 168 164 CALL iophys_ini(900.)165 169 print*,'Rlatu=',rlatu 166 170 klon=2+iim*(jjm-1) 171 172 print*,'AVANT getin' 167 173 klev=llm 174 CALL getin('lmax_replay',lmax_replay) 175 print*,'APRES getin',lmax_replay 176 CALL getin(lmax_replay,klev) 177 print*,'replay3d lmax_replay klev',lmax_replay,klev 178 179 CALL iophys_ini(900.,klev) 168 180 169 181 !--------------------------------------------------------------------- -
LMDZ6/trunk/libf/phylmd/call_ini_replay.f90
r5390 r5458 2 2 stop 'In call_ini_replay : You should run replay_equip.sh before runing replay[13]d' 3 3 return 4 end subroutine call_ini_replay4 end -
LMDZ6/trunk/libf/phylmd/call_param_replay.f90
r5390 r5458 3 3 stop 'In call_param_replay : You should run replay_equip.sh before runing replay[13]d' 4 4 return 5 end subroutine call_param_replay5 end -
LMDZ6/trunk/libf/phylmd/dyn1d/replay1d.f90
r5390 r5458 24 24 CHARACTER (len=10) :: calend 25 25 CHARACTER(len=20) :: calendrier 26 26 CHARACTER(len=20) :: lmax_replay 27 27 28 28 !--------------------------------------------------------------------- … … 56 56 call getin('calend',calend) 57 57 call getin('day_step',day_step) 58 59 print*,'AVANT getin' 60 klev=llm 61 CALL getin('lmax_replay',lmax_replay) 62 print*,'APRES getin',lmax_replay 63 CALL getin(lmax_replay,klev) 64 print*,'replay1d lmax_replay klev',lmax_replay,klev 65 58 66 calendrier=calend 59 67 if ( calendrier == "earth_360d" ) calendrier="360_day" … … 69 77 70 78 klon=1 71 klev=llm72 79 call iotd_ini('phys.nc',1,1,klev,0.,0.,presnivs,jour0,mois0,an0,0.,86400./day_step,calendrier) 73 80 ! Consistent with ... CALL iophys_ini(600.) -
LMDZ6/trunk/libf/phylmd/lmdz_surf_wind.f90
r5445 r5458 2 2 CONTAINS 3 3 4 SUBROUTINE surf_wind(klon,ns rfwnd,zu10m,zv10m,sigmaw,cstar,ustar,wstar,wind10ms,probu)4 SUBROUTINE surf_wind(klon,nsurfwind,zu10m,zv10m,sigmaw,cstar,ustar,wstar,wind10ms,probu) 5 5 6 6 USE lmdz_surf_wind_ini, ONLY : iflag_surf_wind 7 7 8 8 IMPLICIT NONE 9 INTEGER, INTENT(IN) :: ns rfwnd, klon9 INTEGER, INTENT(IN) :: nsurfwind, klon 10 10 REAL, DIMENSION(klon), INTENT(IN) :: zu10m, zv10m 11 11 REAL, DIMENSION(klon), INTENT(IN) :: cstar 12 12 REAL, DIMENSION(klon), INTENT(IN) :: sigmaw 13 13 REAL, DIMENSION(klon), INTENT(IN) :: ustar, wstar 14 REAL, DIMENSION(klon,ns rfwnd), INTENT(OUT) :: wind10ms, probu14 REAL, DIMENSION(klon,nsurfwind), INTENT(OUT) :: wind10ms, probu 15 15 16 16 17 REAL, DIMENSION(klon,ns rfwnd) :: sigma_th, sigma_wk18 REAL, DIMENSION(klon,ns rfwnd) :: xp, yp, zz19 REAL, DIMENSION(klon,ns rfwnd) :: vwx, vwy, vw20 REAL, DIMENSION(klon,ns rfwnd) :: vtx, vty21 REAL, DIMENSION(klon,ns rfwnd) :: windx, windy, wind17 REAL, DIMENSION(klon,nsurfwind) :: sigma_th, sigma_wk 18 REAL, DIMENSION(klon,nsurfwind) :: xp, yp, zz 19 REAL, DIMENSION(klon,nsurfwind) :: vwx, vwy, vw 20 REAL, DIMENSION(klon,nsurfwind) :: vtx, vty 21 REAL, DIMENSION(klon,nsurfwind) :: windx, windy, wind 22 22 REAL, DIMENSION(klon) :: ubwk, vbwk ! ubwk et vbwk sont les vitesses moyennes dans les poches 23 23 REAL, DIMENSION(klon) :: weilambda, U10mMOD … … 30 30 REAL :: ktwk, ktth, kzth 31 31 32 print*,'LLLLLLLLLLLLLLLLLLLLL ns rfwnd=',nsrfwnd32 print*,'LLLLLLLLLLLLLLLLLLLLL nsurfwind=',nsurfwind 33 33 pi=2.*acos(0.) 34 34 ray=7000. … … 37 37 kzth=1. 38 38 kref=3 39 nwb=ns rfwnd39 nwb=nsurfwind 40 40 41 41 ubwk(klon) = zu10m(klon) … … 53 53 IF (iflag_surf_wind == 0) THEN 54 54 !U10mMOD=sqrt(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i)) 55 IF (ns rfwnd /= 1 ) THEN56 STOP 'Si iflag_surf_wind=0, ns rfwnd=1'55 IF (nsurfwind /= 1 ) THEN 56 STOP 'Si iflag_surf_wind=0, nsurfwind=1' 57 57 ENDIF 58 58 DO i=1,klon … … 66 66 67 67 DO i=1, klon 68 DO nmc=1, ns rfwnd68 DO nmc=1, nsurfwind 69 69 ! Utilisation de la distribution de weibull 70 70 !U10mMOD=sqrt(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i)) … … 90 90 91 91 DO i=1, klon 92 DO nmc=1, ns rfwnd92 DO nmc=1, nsurfwind 93 93 ! Utilisation de la distribution du vent a l interieur et a l exterieur des poches 94 94 call Random_number(zz) ! tirage uniforme entre 0 et 1. … … 122 122 wind(i,nmc) = sqrt(windx(i,nmc)**2 + windy(i,nmc)**2) 123 123 wind10ms(i,nmc) = wind(i,nmc) 124 probu(i,nmc) = wind(i,nmc)/ns rfwnd124 probu(i,nmc) = wind(i,nmc)/nsurfwind 125 125 126 126 ELSE … … 143 143 wind(i,nmc) = sqrt(windx(i,nmc)**2 + windy(i,nmc)**2) 144 144 wind10ms(i,nmc) = wind(i,nmc) 145 probu(i,nmc) = wind(i,nmc)/ns rfwnd145 probu(i,nmc) = wind(i,nmc)/nsurfwind 146 146 ! print*, 'wind10ms', wind10ms(i,nmc) 147 147 ENDIF -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r5445 r5458 1268 1268 ! Subgrid scale wind : 1269 1269 ! Need to be allocatable/save because the number of bin is not known (provided by surf_wind_ini) 1270 integer, save :: ns rfwnd=11270 integer, save :: nsurfwind=1 1271 1271 real, dimension(:,:), allocatable, save :: surf_wind_value, surf_wind_proba ! module and probability of sugrdi wind wind sample 1272 !$OMP THREADPRIVATE(ns rfwnd,surf_wind_value, surf_wind_proba)1272 !$OMP THREADPRIVATE(nsurfwind,surf_wind_value, surf_wind_proba) 1273 1273 1274 1274 … … 1831 1831 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1832 1832 CALL surf_wind_ini(klon,lunout) 1833 CALL getin_p('ns rfwnd',nsrfwnd)1834 allocate(surf_wind_value(klon,ns rfwnd),surf_wind_proba(klon,nsrfwnd))1833 CALL getin_p('nsurfwind',nsurfwind) 1834 allocate(surf_wind_value(klon,nsurfwind),surf_wind_proba(klon,nsurfwind)) 1835 1835 1836 1836 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 3819 3819 !=================================================================== 3820 3820 ! Computation of subrgid scale near-surface wind distribution 3821 call surf_wind(klon,ns rfwnd,u10m,v10m,wake_s,wake_Cstar,ustar,wstar,surf_wind_value,surf_wind_proba)3821 call surf_wind(klon,nsurfwind,u10m,v10m,wake_s,wake_Cstar,ustar,wstar,surf_wind_value,surf_wind_proba) 3822 3822 3823 3823 !===================================================================
Note: See TracChangeset
for help on using the changeset viewer.