Changeset 1687
- Timestamp:
- Apr 6, 2017, 4:15:56 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/dynphy_lonlat/phyvenus/readstartphy.F
r1530 r1687 4 4 c 5 5 c 6 SUBROUTINE readstartphy(fichnom, 6 SUBROUTINE readstartphy(fichnom,klon_glo, 7 7 . rlat,rlon, tsol,tsoil, 8 8 . albe, solsw, sollw, … … 15 15 c====================================================================== 16 16 use dimphy 17 USE mod_grid_phy_lmdz, only: klon_glo18 17 IMPLICIT none 19 18 #include "netcdf.inc" … … 22 21 23 22 CHARACTER*(*) fichnom 23 integer klon_glo 24 24 REAL rlat(klon_glo), rlon(klon_glo) 25 25 REAL tsol(klon_glo) -
trunk/LMDZ.COMMON/libf/dynphy_lonlat/phyvenus/start2archive.F
r1443 r1687 133 133 134 134 fichnom = 'startphy.nc' 135 CALL readstartphy(fichnom, 135 CALL readstartphy(fichnom,ngridmx, 136 136 . rlat,rlon,tsurf,tsoil, 137 137 . albe, solsw, sollw, -
trunk/LMDZ.VENUS/libf/phyvenus/cloudvenus/new_cloud_sedim.F
r1667 r1687 62 62 real,parameter :: molrad=2.2e-10 ! CO2 63 63 64 c Cloud density (kg.m-3) 65 c ~~~~~~~~~~~~~~~~~~~~~~ 66 c real, DIMENSION(n_lon,n_lev) :: rho_droplet 64 c Ratio radius shell model du mode 3 65 c ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66 c Ce ratio correspond aux mesures effectuées par J. Cimino (1982), Icarus 67 c Fixer ce parametre a 0 revient a une gouttelette pure en liquide acide sulfurique 68 c ATTENTION ! DOIT ETRE COHERENT AVEC new_cloud_venus ! 69 REAL, PARAMETER :: qrad = 0.97 70 REAL :: qmass 71 c masse volumique du coeur (kg.m-3) 72 c ATTENTION ! DOIT ETRE COHERENT AVEC new_cloud_venus ! 73 REAL, PARAMETER :: rho_core = 2500.0 67 74 68 75 REAL, DIMENSION(n_lon,n_lev+1) :: … … 131 138 c pbndlay(:,51)=0 (en parallèle c'est sûr), ne pas l'utiliser pour Fse 132 139 133 DO imode=1, nbr_mode 140 c Sedimentation pour une gouttelette mode 3 de type J. Cimino, 1982, Icarus 141 c c.a.d 97% radius due a solide 3% radius acide sulfurique 142 DO imode=1, nbr_mode - 1 134 143 DO l = cloudmin, cloudmax 135 144 DO ig=1,n_lon … … 238 247 ENDDO 239 248 249 c**************************************************************** 250 c On calcule le F_sed du mode 3 + coeff*(Fsed1 + Fsed2) 251 c**************************************************************** 252 DO l = cloudmin, cloudmax 253 DO ig=1,n_lon 254 255 c calcul de qmass 256 qmass=(rho_core*qrad**3)/ 257 & (rho_core*qrad**3+rho_droplet(ig,l)*(1.-qrad**3)) 258 259 c RD=1000.*RNAVO*RKBOL/RMD avec RMD=43.44 Masse molaire atm venus en g.mol-1 260 D_stokes=(((qmass*rho_core+(1.-qmass)*rho_droplet(ig,l)) 261 & -pmidlay(ig,l)/(RD*pt(ig,l)))) 262 & *(2./9.)*(RG/VISCOSITY_CO2(pt(ig,l))) 263 264 l_mean=(pt(ig,l)/pmidlay(ig,l))* 265 & (0.707*R/(4.*RPI* molrad*molrad * RNAVO)) 266 267 R_mode0=R_MEDIAN(ig,l,3)* 268 & EXP(-LOG(STDDEV(ig,l,3))**2.) 269 IF ((l_mean/(R_mode0)).GT.10.) THEN 270 Rp_DL=R_MEDIAN(ig,l,3)* 271 & EXP(3.*LOG(STDDEV(ig,l,3))**2.) 272 ELSE 273 Rp_DL=R_MEDIAN(ig,l,3)* 274 & EXP(4.*LOG(STDDEV(ig,l,3))**2.) 275 ENDIF 276 277 a=1.246*l_mean 278 279 c=0.87/l_mean 280 281 b_exp=0.42*l_mean*EXP(-c*Rp_DL) 282 283 A1=a+b_exp*(1.+c*Rp_DL 284 & +0.5*(Rp_DL*c)**2 285 & +1./6.*(Rp_DL*c)**3) 286 287 A2=1.-b_exp*(c 288 & +Rp_DL*c**2 289 & +0.5*(Rp_DL**2)*(c**3)) 290 291 A3=0.5*b_exp*(c**2+Rp_DL*c**3) 292 293 A4=-b_exp*1./6.*c**3 294 295 c Addition des Flux de tous les modes presents 296 F_sed(ig,l)=F_sed(ig,l) 297 & +((1.-qmass)/(1.-qmass*K_MASS(ig,l,3)))*( 298 & (qmass*rho_core+(1.-qmass)*rho_droplet(ig,l))*4./3.*RPI* 299 & NBRTOT(ig,l,3)*1.0E6*D_stokes*( 300 & A1*R_MEDIAN(ig,l,3)**4 301 & *EXP(8.0*LOG(STDDEV(ig,l,3))**2.) 302 & +A2*R_MEDIAN(ig,l,3)**5 303 & *EXP(12.5*LOG(STDDEV(ig,l,3))**2.) 304 & +A3*R_MEDIAN(ig,l,3)**6 305 & *EXP(18.0*LOG(STDDEV(ig,l,3))**2.) 306 & +A4*R_MEDIAN(ig,l,3)**7 307 & *EXP(24.5*LOG(STDDEV(ig,l,3))**2.))) 308 309 c PRINT*,' APRES dTime: F_sed=',F_sed(ig,l), ig, l 310 311 IF (F_sed(ig,l).GT.m_lay(ig,l)) THEN 312 PRINT*,'===============================================' 313 PRINT*,'WARNING On a epuise la couche', ig, l 314 PRINT*,'On epuise pas une couche avec une espèce 315 & minoritaire, c est pas bien maaaaaal' 316 PRINT*,'Water',zqi_wv(ig,l),'Sulfuric Acid',zqi_sa(ig,l) 317 PRINT*,'F_sed:',F_sed(ig,l),'m_lay:',m_lay(ig,l) 318 PRINT*,'F_sed/dtphy',F_sed(ig,l)/ptimestep 319 PRINT*,'Pbnd top',pbndlay(ig,l+1),'Temp',pt(ig,l),'Rho', 320 & rho_droplet(ig,l) 321 PRINT*,'Ntot',NBRTOT(ig,l,:) 322 PRINT*,'StdDev',STDDEV(ig,l,:),'Rmed',R_MEDIAN(ig,l,:) 323 PRINT*,'K_MASS',K_MASS(ig,l,:) 324 PRINT*,'WSA',WH2SO4(ig,l),'RHO',rho_droplet(ig,l) 325 326 c ELSE 327 c 328 c PRINT*,'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 329 c PRINT*,'WARNING On a PAS epuise la couche', ig, l 330 c PRINT*,'F_sed:',F_sed(ig,l),'m_lay:',m_lay(ig,l) 331 c PRINT*,'F_sed/dtphy',F_sed(ig,l)/ptimestep 332 c PRINT*,'Pbnd top',pbndlay(ig,l+1),'Temp',pt(ig,l),'Rho', 333 c & rho_droplet(ig,l)(ig,l) 334 c PRINT*,'Ntot',NBRTOT(ig,l),'Ntot m3',NBRTOT(ig,l)*1.0e6 335 c PRINT*,'StdDev',STDDEV(ig,l),'Rmed',R_MEDIAN(ig,l) 336 STOP 337 ENDIF 338 339 IF (F_sed(ig,l).LT.0.0d0) THEN 340 PRINT*,"F_sed est négatif !!!" 341 PRINT*,'F_sed:',F_sed(ig,l),'m_lay:',m_lay(ig,l) 342 PRINT*,'F_sed/dtphy',F_sed(ig,l)/ptimestep 343 PRINT*,'Pbnd top',pbndlay(ig,l+1),'Pmid',pmidlay(ig,l) 344 PRINT*,'Temp',pt(ig,l),'Rho', 345 & rho_droplet(ig,l) 346 PRINT*,'Ntot',NBRTOT(ig,l,imode),'Ntot m3', 347 & NBRTOT(ig,l,imode)*1.0e6 348 PRINT*,'StdDev',STDDEV(ig,l,imode),'Rmed', 349 & R_MEDIAN(ig,l,imode) 350 PRINT*,'A1',A1,'A2',A2 351 PRINT*,'A3',A1,'A4',A2 352 PRINT*,'D_stokes',D_stokes 353 STOP 354 ENDIF 355 356 ENDDO 357 358 c ELSE 359 c F_sed(:,l)=0.0d0 360 c ENDIF 361 362 ENDDO 363 c**************************************************************** 364 240 365 c Passage du Flux au Flux pour un pas de temps (== kg.m-2) 241 366 F_sed(:,:)=F_sed(:,:)*ptimestep -
trunk/LMDZ.VENUS/libf/phyvenus/cloudvenus/new_cloud_venus.F
r1667 r1687 62 62 c Ce ratio correspond aux mesures effectuées par J. Cimino (1982), Icarus 63 63 c Fixer ce parametre a 0 revient a une gouttelette pure en liquide acide sulfurique 64 c ATTENTION ! DOIT ETRE COHERENT AVEC new_cloud_sedim ! 64 65 REAL, PARAMETER :: qrad = 0.97 65 66 REAL :: qmass 66 67 c masse volumique du coeur (kg.m-3) 68 c ATTENTION ! DOIT ETRE COHERENT AVEC new_cloud_sedim ! 67 69 REAL, PARAMETER :: rho_core = 2500.0 68 70 !---------------------------------------------------------------------------- -
trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F
r1682 r1687 1863 1863 CALL send_xios_field("dtec",d_t_ec) 1864 1864 1865 CALL send_xios_field("SWnet",swnet )1866 CALL send_xios_field("LWnet",lwnet )1865 CALL send_xios_field("SWnet",swnet(:,1:klev)) 1866 CALL send_xios_field("LWnet",lwnet(:,1:klev)) 1867 1867 CALL send_xios_field("fluxvdf",fluxt) 1868 1868 CALL send_xios_field("fluxdyn",flux_dyn) … … 1875 1875 CALL send_xios_field(tname(iq),qx(:,:,iq)*mmean(:,:)/M_tr(iq)) 1876 1876 ENDDO 1877 1878 IF ((tr_scheme.eq.3).and.(ok_sedim).and.(cl_scheme.eq.1)) THEN 1879 CALL send_xios_field("Fsedim",Fsedim(:,1:klev)) 1880 ENDIF 1877 1881 ENDIF 1878 1882 -
trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F
r1665 r1687 126 126 trac(:,1:22,i_co)=25.E-6 127 127 trac(:,:,i_hcl)=0.4E-6 128 trac(:,1:22,i_so2)= 9.E-6128 trac(:,1:22,i_so2)=10.E-6 129 129 trac(:,1:22,i_h2o)=30.0E-6 130 130 -
trunk/LMDZ.VENUS/libf/phyvenus/radlwsw.F
r1642 r1687 358 358 if (latB.gt.0) then 359 359 if (nbszave(latB).gt.1) then 360 ! init to avoid outside values (near midnight so similar compo...) 361 isza0B = nbszave(latB) 360 362 do iszaB=1,nbszave(latB)-1 361 363 if ( (szave(iszaB,latB).ge.zrmu0) … … 396 398 stop 397 399 endif 398 399 400 400 401 401 if (isza0.eq.-99) then
Note: See TracChangeset
for help on using the changeset viewer.