Changeset 226 for trunk/MESOSCALE
- Timestamp:
- Jul 15, 2011, 2:55:17 PM (13 years ago)
- Location:
- trunk/MESOSCALE
- Files:
-
- 3 added
- 2 deleted
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MESOSCALE/LMDZ.MARS.new/in_lmdz_mars_newphys/compile
r117 r226 29 29 nz=25 30 30 ################## 31 #tracers=232 #nx=6433 #ny=4834 #nz=2531 tracers=2 32 nx=64 33 ny=48 34 nz=25 35 35 ################## 36 36 -
trunk/MESOSCALE/LMDZ.MARS.new/in_lmdz_mars_newphys/physiq.F
r56 r226 1 SUBROUTINE physiq(ngrid,nlayer,nq, 2 $ firstcall,lastcall, 3 $ pday,ptime,ptimestep, 4 $ pplev,pplay,pphi, 5 $ pu,pv,pt,pq, 6 $ pw, 7 $ pdu,pdv,pdt,pdq,pdpsrf,tracerdyn) 8 1 SUBROUTINE physiq( 2 $ ngrid,nlayer,nq 3 $ ,firstcall,lastcall 4 $ ,pday,ptime,ptimestep 5 $ ,pplev,pplay,pphi 6 $ ,pu,pv,pt,pq 7 $ ,pw 8 $ ,pdu,pdv,pdt,pdq,pdpsrf,tracerdyn 9 $ ) 9 10 10 11 IMPLICIT NONE … … 187 188 ! of the size distribution 188 189 c Albedo of deposited surface ice 189 REAL, PARAMETER :: alb_surfice = 0.4 ! 0.45 190 !!REAL, PARAMETER :: alb_surfice = 0.4 ! 0.45 191 REAL, PARAMETER :: alb_surfice = 0.45 !!TESTS_JB 190 192 191 193 SAVE day_ini, icount … … 278 280 REAL ccn(ngridmx,nlayermx) ! Cloud condensation nuclei 279 281 ! (particules kg-1) 282 SAVE ccn !! in case iradia != 1 280 283 real rdust(ngridmx,nlayermx) ! dust geometric mean radius (m) 281 284 real qtot1,qtot2 ! total aerosol mass … … 298 301 299 302 REAL time_phys 303 304 c Variables from thermal 305 306 REAL lmax_th_out(ngridmx),zmax_th(ngridmx) 307 REAL wmax_th(ngridmx) 308 REAL ,SAVE :: hfmax_th(ngridmx) 309 REAL pdu_th(ngridmx,nlayermx),pdv_th(ngridmx,nlayermx) 310 REAL pdt_th(ngridmx,nlayermx),pdq_th(ngridmx,nlayermx,nqmx) 311 INTEGER lmax_th(ngridmx) 312 REAL dtke_th(ngridmx,nlayermx+1) 313 REAL dummycol(ngridmx) 300 314 301 315 c======================================================================= … … 513 527 c Radiative transfer 514 528 c ------------------ 529 515 530 CALL callradite(icount,ngrid,nlayer,nq,zday,zls,pq,albedo, 516 531 $ emis,mu0,pplev,pplay,pt,tsurf,fract,dist_sol,igout, … … 549 564 ENDIF 550 565 551 552 553 566 ENDIF ! of if(mod(icount-1,iradia).eq.0) 554 567 … … 565 578 fluxrad(ig)=fluxrad_sky(ig)-zplanck(ig) 566 579 ENDDO 567 568 580 569 581 DO l=1,nlayer … … 597 609 c 4. Vertical diffusion (turbulent mixing): 598 610 c ----------------------------------------- 599 c 611 600 612 IF (calldifv) THEN 601 602 613 603 614 DO ig=1,ngrid … … 612 623 enddo 613 624 enddo 614 625 615 626 c Calling vdif (Martian version WITH CO2 condensation) 616 627 CALL vdifc(ngrid,nlayer,nq,co2ice,zpopsk, … … 633 644 ENDDO 634 645 635 DO ig=1,ngrid636 zdtsurf(ig)=zdtsurf(ig)+zdtsdif(ig)637 ENDDO646 DO ig=1,ngrid 647 zdtsurf(ig)=zdtsurf(ig)+zdtsdif(ig) 648 ENDDO 638 649 639 650 if (tracer) then … … 659 670 ENDIF ! of IF (calldifv) 660 671 672 c----------------------------------------------------------------------- 673 c TEST. Thermals : 674 c HIGHLY EXPERIMENTAL, BEWARE !! 675 c ----------------------------- 676 677 if(calltherm) then 678 679 call calltherm_interface(firstcall, 680 $ long,lati,zzlev,zzlay, 681 $ ptimestep,pu,pv,pt,pq,pdu,pdv,pdt,pdq,q2, 682 $ pplay,pplev,pphi,zpopsk, 683 $ pdu_th,pdv_th,pdt_th,pdq_th,lmax_th,zmax_th, 684 $ dtke_th,hfmax_th,wmax_th) 685 686 DO l=1,nlayer 687 DO ig=1,ngrid 688 pdu(ig,l)=pdu(ig,l)+pdu_th(ig,l) 689 pdv(ig,l)=pdv(ig,l)+pdv_th(ig,l) 690 pdt(ig,l)=pdt(ig,l)+pdt_th(ig,l) 691 q2(ig,l)=q2(ig,l)+dtke_th(ig,l)*ptimestep 692 ENDDO 693 ENDDO 694 695 DO ig=1,ngrid 696 q2(ig,nlayer+1)=q2(ig,nlayer+1)+dtke_th(ig,nlayer+1)*ptimestep 697 ENDDO 698 699 if (tracer) then 700 DO iq=1,nq 701 DO l=1,nlayer 702 DO ig=1,ngrid 703 pdq(ig,l,iq)=pdq(ig,l,iq)+pdq_th(ig,l,iq) 704 ENDDO 705 ENDDO 706 ENDDO 707 endif 708 709 else !of if calltherm 710 lmax_th(:)=0 711 end if 661 712 662 713 c----------------------------------------------------------------------- … … 676 727 677 728 CALL convadj(ngrid,nlayer,nq,ptimestep, 678 $ pplay,pplev,zpopsk, 729 $ pplay,pplev,zpopsk,lmax_th, 679 730 $ pu,pv,zh,pq, 680 731 $ pdu,pdv,zdh,pdq, 681 732 $ zduadj,zdvadj,zdhadj, 682 733 $ zdqadj) 734 683 735 684 736 DO l=1,nlayer … … 713 765 $ co2ice,albedo,emis, 714 766 $ zdtc,zdtsurfc,pdpsrf,zduc,zdvc,zdqc, 715 $ 767 $ fluxsurf_sw,zls) 716 768 717 769 DO l=1,nlayer … … 1021 1073 ENDDO 1022 1074 1023 c Compute surface stress : (NB: z0 is a common in planete.h)1075 c Compute surface stress : (NB: z0 is a common in surfdat.h) 1024 1076 c DO ig=1,ngrid 1025 c cd = (0.4/log(zzlay(ig,1)/z0 ))**21077 c cd = (0.4/log(zzlay(ig,1)/z0(ig)))**2 1026 1078 c zstress(ig) = rho(ig,1)*cd*(zu(ig,1)**2 + zv(ig,1)**2) 1027 1079 c ENDDO … … 1029 1081 c Sum of fluxes in solar spectral bands (for output only) 1030 1082 DO ig=1,ngrid 1031 1032 1083 fluxtop_sw_tot(ig)=fluxtop_sw(ig,1) + fluxtop_sw(ig,2) 1084 fluxsurf_sw_tot(ig)=fluxsurf_sw(ig,1) + fluxsurf_sw(ig,2) 1033 1085 ENDDO 1034 1086 c ******* TEST ****************************************************** … … 1070 1122 1071 1123 IF (ngrid.NE.1) THEN 1072 print*,'Ls =',zls*180./pi ,1073 & ' tauref(700 Pa,lat=0) =',tauref(ngrid/2),1074 & ' tau(Viking1) =',tau(ig_vl1,1)1124 print*,'Ls =',zls*180./pi 1125 & ,' tauref(700 Pa,lat=0) =',tauref(ngrid/2) 1126 & ,' tau(Viking1) =',tau(ig_vl1,1) 1075 1127 1076 1128 … … 1142 1194 c which can later be used to make the statistic files of the run: 1143 1195 c "stats") only possible in 3D runs ! 1144 1145 1196 1146 1197 IF (callstats) THEN … … 1257 1308 c WRITEDIAGFI can ALSO be called from any other subroutines 1258 1309 c for any variables !! 1259 call WRITEDIAGFI(ngrid,"emis","Surface emissivity","w.m-1",2,1310 call WRITEDIAGFI(ngrid,"emis","Surface emissivity","w.m-1",2, 1260 1311 & emis) 1312 ! call WRITEDIAGFI(ngrid,"pplay","Pressure","Pa",3,zplay) 1313 ! call WRITEDIAGFI(ngrid,"pplev","Pressure","Pa",3,zplev) 1261 1314 call WRITEDIAGFI(ngrid,"tsurf","Surface temperature","K",2, 1262 1315 & tsurf) … … 1264 1317 call WRITEDIAGFI(ngrid,"co2ice","co2 ice thickness","kg.m-2",2, 1265 1318 & co2ice) 1319 c call WRITEDIAGFI(ngrid,"temp7","temperature in layer 7", 1320 c & "K",2,zt(1,7)) 1266 1321 c call WRITEDIAGFI(ngrid,"fluxsurf_lw","fluxsurf_lw","W.m-2",2, 1267 1322 c & fluxsurf_lw) … … 1273 1328 c & fluxtop_sw_tot) 1274 1329 call WRITEDIAGFI(ngrid,"temp","temperature","K",3,zt) 1275 c call WRITEDIAGFI(ngrid,"tau","tau"," ",2,tau)1276 1330 call WRITEDIAGFI(ngrid,"u","Zonal wind","m.s-1",3,zu) 1277 1331 call WRITEDIAGFI(ngrid,"v","Meridional wind","m.s-1",3,zv) … … 1279 1333 c call WRITEDIAGFI(ngrid,"rho","density","none",3,rho) 1280 1334 c call WRITEDIAGFI(ngrid,"q2","q2","kg.m-3",3,q2) 1281 ccall WRITEDIAGFI(ngrid,'Teta','T potentielle','K',3,zh)1335 ! call WRITEDIAGFI(ngrid,'Teta','T potentielle','K',3,zh) 1282 1336 c call WRITEDIAGFI(ngrid,"pressure","Pressure","Pa",3,pplay) 1283 1337 c call WRITEDIAGFI(ngrid,"ssurf","Surface stress","N.m-2",2, … … 1287 1341 c call WRITEDIAGFI(ngridmx,'lw_htrt','lw heat. rate', 1288 1342 c & 'w.m-2',3,zdtlw) 1343 c CALL WRITEDIAGFI(ngridmx,'tauTESap', 1344 c & 'tau abs 825 cm-1', 1345 c & '',2,tauTES) 1289 1346 1290 1347 !!!!!!!!!!!!!!!!!!!!!!!!SOIL SOIL SOIL … … 1324 1381 1325 1382 !!!! waterice = q01, voir readmeteo.F90 1326 call WRITEDIAGFI(ngridmx,'q01',noms(i q),1383 call WRITEDIAGFI(ngridmx,'q01',noms(igcm_h2o_ice), 1327 1384 & 'kg/kg',3, 1328 1385 & zq(1:ngridmx,1:nlayermx,igcm_h2o_ice)) 1329 1386 !!!! watervapor = q02, voir readmeteo.F90 1330 call WRITEDIAGFI(ngridmx,'q02',noms(i q),1387 call WRITEDIAGFI(ngridmx,'q02',noms(igcm_h2o_vap), 1331 1388 & 'kg/kg',3, 1332 1389 & zq(1:ngridmx,1:nlayermx,igcm_h2o_vap)) 1333 1334 c call WRITEDIAGFI(ngridmx,'qsurf'//str2,noms(iq),1335 c & 'kg.m-2',2,qsurf(1,iq)) 1336 1337 1338 cCALL WRITEDIAGFI(ngridmx,'mtot',1339 c& 'total mass of water vapor',1340 c& 'kg/m2',2,mtot)1341 cCALL WRITEDIAGFI(ngridmx,'icetot',1342 c& 'total mass of water ice',1343 c& 'kg/m2',2,icetot)1344 c cvmr=zq(1:ngridmx,1:nlayermx,igcm_h2o_ice)1345 c c& *mugaz/mmol(igcm_h2o_ice)1346 c ccall WRITEDIAGFI(ngridmx,'vmr_h2oice','h2o ice vmr',1347 c c& 'mol/mol',3,vmr)1348 cCALL WRITEDIAGFI(ngridmx,'reffice',1349 c& 'Mean reff',1350 c& 'm',2,rave)1351 c ccall WRITEDIAGFI(ngridmx,'rice','Ice particle size',1352 c c& 'm',3,rice)1353 c cIf activice is true, tauTES is computed in aeropacity.F;1354 cif (.not.activice) then1355 cCALL WRITEDIAGFI(ngridmx,'tauTESap',1356 c& 'tau abs 825 cm-1',1357 c& '',2,tauTES)1358 cendif1359 ccall WRITEDIAGFI(ngridmx,'h2o_ice_s',1360 c& 'surface h2o_ice',1361 c& 'kg.m-2',2,qsurf(1,igcm_h2o_ice))1390 !!!! surface waterice qsurf02 (voir readmeteo) 1391 call WRITEDIAGFI(ngridmx,'qsurf02','surface tracer', 1392 & 'kg.m-2',2, 1393 & qsurf(1:ngridmx,igcm_h2o_ice)) 1394 1395 CALL WRITEDIAGFI(ngridmx,'mtot', 1396 & 'total mass of water vapor', 1397 & 'kg/m2',2,mtot) 1398 CALL WRITEDIAGFI(ngridmx,'icetot', 1399 & 'total mass of water ice', 1400 & 'kg/m2',2,icetot) 1401 c vmr=zq(1:ngridmx,1:nlayermx,igcm_h2o_ice) 1402 c & *mugaz/mmol(igcm_h2o_ice) 1403 c call WRITEDIAGFI(ngridmx,'vmr_h2oice','h2o ice vmr', 1404 c & 'mol/mol',3,vmr) 1405 CALL WRITEDIAGFI(ngridmx,'reffice', 1406 & 'Mean reff', 1407 & 'm',2,rave) 1408 c call WRITEDIAGFI(ngridmx,'rice','Ice particle size', 1409 c & 'm',3,rice) 1410 c If activice is true, tauTES is computed in aeropacity.F; 1411 if (.not.activice) then 1412 CALL WRITEDIAGFI(ngridmx,'tauTESap', 1413 & 'tau abs 825 cm-1', 1414 & '',2,tauTES) 1415 endif 1416 call WRITEDIAGFI(ngridmx,'h2o_ice_s', 1417 & 'surface h2o_ice', 1418 & 'kg.m-2',2,qsurf(1,igcm_h2o_ice)) 1362 1419 endif !(water) 1363 1420 … … 1401 1458 call WRITEDIAGFI(ngridmx,'dustq','Dust mass mr', 1402 1459 & 'kg/kg',3,pq(1,1,igcm_dust_mass)) 1403 call WRITEDIAGFI(ngridmx,'dustN','Dust number',1460 call WRITEDIAGFI(ngridmx,'dustN','Dust number', 1404 1461 & 'part/kg',3,pq(1,1,igcm_dust_number)) 1405 1462 else … … 1419 1476 1420 1477 c ---------------------------------------------------------- 1478 c Outputs of thermals 1479 c ---------------------------------------------------------- 1480 if (calltherm) then 1481 1482 ! call WRITEDIAGFI(ngrid,'dtke', 1483 ! & 'tendance tke thermiques','m**2/s**2', 1484 ! & 3,dtke_th) 1485 ! call WRITEDIAGFI(ngrid,'d_u_ajs', 1486 ! & 'tendance u thermiques','m/s', 1487 ! & 3,pdu_th*ptimestep) 1488 ! call WRITEDIAGFI(ngrid,'d_v_ajs', 1489 ! & 'tendance v thermiques','m/s', 1490 ! & 3,pdv_th*ptimestep) 1491 ! if (tracer) then 1492 ! if (nq .eq. 2) then 1493 ! call WRITEDIAGFI(ngrid,'deltaq_th', 1494 ! & 'delta q thermiques','kg/kg', 1495 ! & 3,ptimestep*pdq_th(:,:,2)) 1496 ! endif 1497 ! endif 1498 1499 lmax_th_out(:)=real(lmax_th(:)) 1500 1501 call WRITEDIAGFI(ngridmx,'lmax_th', 1502 & 'hauteur du thermique','K', 1503 & 2,lmax_th_out) 1504 call WRITEDIAGFI(ngridmx,'hfmax_th', 1505 & 'maximum TH heat flux','K.m/s', 1506 & 2,hfmax_th) 1507 call WRITEDIAGFI(ngridmx,'wmax_th', 1508 & 'maximum TH vertical velocity','m/s', 1509 & 2,wmax_th) 1510 1511 endif 1512 1513 c ---------------------------------------------------------- 1421 1514 c Output in netcdf file "diagsoil.nc" for subterranean 1422 1515 c variables (output every "ecritphy", as for writediagfi) … … 1452 1545 c CALL writeg1d(ngrid,nlayer,pw,'w','m.s-1') 1453 1546 1547 ! THERMALS STUFF 1D 1548 1549 if(calltherm) then 1550 1551 lmax_th_out(:)=real(lmax_th(:)) 1552 1553 call WRITEDIAGFI(ngridmx,'lmax_th', 1554 & 'hauteur du thermique','point', 1555 & 0,lmax_th_out) 1556 call WRITEDIAGFI(ngridmx,'hfmax_th', 1557 & 'maximum TH heat flux','K.m/s', 1558 & 0,hfmax_th) 1559 call WRITEDIAGFI(ngridmx,'wmax_th', 1560 & 'maximum TH vertical velocity','m/s', 1561 & 0,wmax_th) 1562 1563 1564 co2col(:)=0. 1565 dummycol(:)=0. 1566 if (tracer) then 1567 do l=1,nlayermx 1568 do ig=1,ngrid 1569 co2col(ig)=co2col(ig)+ 1570 & zq(ig,l,1)*(pplev(ig,l)-pplev(ig,l+1))/g 1571 if (nqmx .gt. 1) then 1572 iq=2 ! to avoid out-of-bounds spotting by picky compilers 1573 ! when gcm is compiled with only one tracer 1574 dummycol(ig)=dummycol(ig)+ 1575 & zq(ig,l,iq)*(pplev(ig,l)-pplev(ig,l+1))/g 1576 endif 1577 enddo 1578 enddo 1579 1580 end if 1581 call WRITEDIAGFI(ngrid,'co2col','integrated co2 mass' & 1582 & ,'kg/m-2',0,co2col) 1583 call WRITEDIAGFI(ngrid,'dummycol','integrated dummy mass' & 1584 & ,'kg/m-2',0,dummycol) 1585 endif 1586 call WRITEDIAGFI(ngrid,'w','vertical velocity' & 1587 & ,'m/s',1,pw) 1588 call WRITEDIAGFI(ngrid,"q2","q2","kg.m-3",1,q2) 1589 call WRITEDIAGFI(ngrid,"tsurf","Surface temperature","K",0, 1590 & tsurf) 1591 1592 call WRITEDIAGFI(ngrid,"pplay","Pressure","Pa",1,zplay) 1593 call WRITEDIAGFI(ngrid,"pplev","Pressure","Pa",1,zplev) 1454 1594 ! or output in diagfi.nc (for testphys1d) 1455 1595 call WRITEDIAGFI(ngridmx,'ps','Surface pressure','Pa',0,ps) -
trunk/MESOSCALE/LMDZ.MARS/in_lmdz_mars/myGCM/launch_gcm
r69 r226 1 1 #! /bin/bash 2 2 3 ############################## 4 # use: - launch_gcm #5 # - echo 2 | launch_gcm #6 ############################## 3 ############################### 4 # use: - launch_gcm # 5 # - echo 22 | launch_gcm # 6 ############################### 7 7 8 8 # Author : A. Spiga - Spring/Winter 2008 -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis1.inc
r28 r226 6 6 7 7 CALL meso_inifis(ngridmx,nlayer,nqmx,dt, & 8 wday_ini,wdaysec, &9 wappel_phys, wecri_phys,&8 wday_ini,wdaysec, & 9 wappel_phys, & 10 10 lat_vec,lon_vec,aire_vec,1/reradius,g,r_d,cp, & 11 11 womeg,wmugaz, & -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis2.inc
r28 r226 9 9 CASE(1) 10 10 CALL meso_inifis(ngridmx,nlayer,nqmx,dt, & 11 wday_ini,wdaysec, &12 wappel_phys, wecri_phys,&11 wday_ini,wdaysec, & 12 wappel_phys, & 13 13 lat_vec,lon_vec,aire_vec,1/reradius,g,r_d,cp, & 14 14 womeg,wmugaz, & … … 28 28 CASE(2) 29 29 CALL d2_meso_inifis(ngridmx,nlayer,nqmx,dt, & 30 wday_ini,wdaysec, &31 wappel_phys, wecri_phys,&30 wday_ini,wdaysec, & 31 wappel_phys, & 32 32 lat_vec,lon_vec,aire_vec,1/reradius,g,r_d,cp, & 33 33 womeg,wmugaz, & -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis3.inc
r28 r226 9 9 CASE(1) 10 10 CALL meso_inifis(ngridmx,nlayer,nqmx,dt, & 11 wday_ini,wdaysec, &12 wappel_phys, wecri_phys,&11 wday_ini,wdaysec, & 12 wappel_phys, & 13 13 lat_vec,lon_vec,aire_vec,1/reradius,g,r_d,cp, & 14 14 womeg,wmugaz, & … … 27 27 CASE(2) 28 28 CALL d2_meso_inifis(ngridmx,nlayer,nqmx,dt, & 29 wday_ini,wdaysec, &30 wappel_phys, wecri_phys,&29 wday_ini,wdaysec, & 30 wappel_phys, & 31 31 lat_vec,lon_vec,aire_vec,1/reradius,g,r_d,cp, & 32 32 womeg,wmugaz, & … … 45 45 CASE(3) 46 46 CALL d3_meso_inifis(ngridmx,nlayer,nqmx,dt, & 47 wday_ini,wdaysec, &48 wappel_phys, wecri_phys,&47 wday_ini,wdaysec, & 48 wappel_phys, & 49 49 lat_vec,lon_vec,aire_vec,1/reradius,g,r_d,cp, & 50 50 womeg,wmugaz, & -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_physiq1.inc
r55 r226 6 6 7 7 CALL meso_physiq (ngrid,nlayer,nq, & 8 firstcall,lastcall, wday_ini,pday,ptime,ptimestep,&8 firstcall,lastcall,pday,ptime,ptimestep, & 9 9 pplev,pplay,pphi,pu, pv, pt, pq, pw, & 10 #ifdef NEWPHYS11 wtnom, &12 #endif13 10 pdu, pdv, pdt, pdq, pdpsrf, tracerdyn, & 14 11 wtsurf,wtsoil,wemis,wq2,wqsurf,wco2ice, & 15 12 #ifdef NEWPHYS 16 w isoil, wdsoil, &13 wtnom, wisoil, wdsoil, & 17 14 #endif 18 w ecri_phys_sec,&15 wday_ini, & 19 16 output_tab2d, output_tab3d, flag_LES) 20 17 -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_physiq2.inc
r55 r226 9 9 CASE(1) 10 10 CALL meso_physiq (ngrid,nlayer,nq, & 11 firstcall,lastcall, wday_ini,pday,ptime,ptimestep,&11 firstcall,lastcall,pday,ptime,ptimestep, & 12 12 pplev,pplay,pphi,pu, pv, pt, pq, pw, & 13 #ifdef NEWPHYS14 wtnom, &15 #endif16 13 pdu, pdv, pdt, pdq, pdpsrf, tracerdyn, & 17 14 wtsurf,wtsoil,wemis,wq2,wqsurf,wco2ice, & 18 15 #ifdef NEWPHYS 19 w isoil, wdsoil, &16 wtnom, wisoil, wdsoil, & 20 17 #endif 21 w ecri_phys_sec,&18 wday_ini, & 22 19 output_tab2d, output_tab3d, flag_LES) 23 20 24 21 CASE(2) 25 22 CALL d2_meso_physiq (ngrid,nlayer,nq, & 26 firstcall,lastcall, wday_ini,pday,ptime,ptimestep,&23 firstcall,lastcall,pday,ptime,ptimestep, & 27 24 pplev,pplay,pphi,pu, pv, pt, pq, pw, & 28 #ifdef NEWPHYS29 wtnom, &30 #endif31 25 pdu, pdv, pdt, pdq, pdpsrf, tracerdyn, & 32 26 wtsurf,wtsoil,wemis,wq2,wqsurf,wco2ice, & 33 27 #ifdef NEWPHYS 34 w isoil, wdsoil, &28 wtnom, wisoil, wdsoil, & 35 29 #endif 36 w ecri_phys_sec,&30 wday_ini, & 37 31 output_tab2d, output_tab3d, flag_LES) 38 32 -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_physiq3.inc
r55 r226 9 9 CASE(1) 10 10 CALL meso_physiq (ngrid,nlayer,nq, & 11 firstcall,lastcall, wday_ini,pday,ptime,ptimestep,&11 firstcall,lastcall,pday,ptime,ptimestep, & 12 12 pplev,pplay,pphi,pu, pv, pt, pq, pw, & 13 #ifdef NEWPHYS14 wtnom, &15 #endif16 13 pdu, pdv, pdt, pdq, pdpsrf, tracerdyn, & 17 14 wtsurf,wtsoil,wemis,wq2,wqsurf,wco2ice, & 18 15 #ifdef NEWPHYS 19 w isoil, wdsoil, &16 wtnom, wisoil, wdsoil, & 20 17 #endif 21 w ecri_phys_sec,&18 wday_ini, & 22 19 output_tab2d, output_tab3d, flag_LES) 23 20 24 21 CASE(2) 25 CALL d2_meso_physiq (ngrid,nlayer,nq, &26 firstcall,lastcall, wday_ini,pday,ptime,ptimestep,&22 CALL d2_meso_physiq (ngrid,nlayer,nq, & 23 firstcall,lastcall,pday,ptime,ptimestep, & 27 24 pplev,pplay,pphi,pu, pv, pt, pq, pw, & 28 #ifdef NEWPHYS29 wtnom, &30 #endif31 25 pdu, pdv, pdt, pdq, pdpsrf, tracerdyn, & 32 26 wtsurf,wtsoil,wemis,wq2,wqsurf,wco2ice, & 33 27 #ifdef NEWPHYS 34 w isoil, wdsoil, &28 wtnom, wisoil, wdsoil, & 35 29 #endif 36 w ecri_phys_sec,&30 wday_ini, & 37 31 output_tab2d, output_tab3d, flag_LES) 38 32 39 33 CASE(3) 40 CALL d3_meso_physiq (ngrid,nlayer,nq,&41 firstcall,lastcall, wday_ini,pday,ptime,ptimestep,&34 CALL meso_physiq (ngrid,nlayer,nq, & 35 firstcall,lastcall,pday,ptime,ptimestep, & 42 36 pplev,pplay,pphi,pu, pv, pt, pq, pw, & 43 #ifdef NEWPHYS44 wtnom, &45 #endif46 37 pdu, pdv, pdt, pdq, pdpsrf, tracerdyn, & 47 38 wtsurf,wtsoil,wemis,wq2,wqsurf,wco2ice, & 48 39 #ifdef NEWPHYS 49 w isoil, wdsoil, &40 wtnom, wisoil, wdsoil, & 50 41 #endif 51 w ecri_phys_sec,&42 wday_ini, & 52 43 output_tab2d, output_tab3d, flag_LES) 53 54 44 55 45 ! CASE(3:) -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r179 r226 222 222 ! Additional control variables 223 223 INTEGER :: sponge_top,relax,ips,ipe,jps,jpe,kps,kpe 224 REAL :: elaps, ptimestep , wecri_phys_sec225 INTEGER :: wappel_phys, w ecri_phys, wday_ini, test, test2224 REAL :: elaps, ptimestep 225 INTEGER :: wappel_phys, wday_ini, test, test2 226 226 LOGICAL :: flag_LES 227 227 … … 328 328 wday_ini = JULDAY - 1 !! GCM convention 329 329 wappel_phys = int(RADT) 330 wecri_phys = int(CUDT)331 330 ptimestep = dt*float(wappel_phys) ! physical timestep (s) 332 331 ngrid=(ipe-ips+1)*(jpe-jps+1) ! size of the horizontal grid: ngridmx = wiim * wjjm … … 1083 1082 DEALLOCATE(wpsi) 1084 1083 ENDIF 1085 !! nearly obsolete1086 !print *, '** Mars ** Diagnostic files each ',wecri_phys,' phys. steps'1087 wecri_phys_sec=dt*float(wecri_phys)*float(wappel_phys)1088 IF (JULYR .eq. 9999) wecri_phys_sec = 100000000. !! sinon bug (ne peut valoir 0)1089 1084 1090 1085 !!********!! -
trunk/MESOSCALE/LMD_MM_MARS/makemeso
r216 r226 220 220 cd Registry ; ln -sf ../mars_lmd_new_${scenario}/Registry.EM . ; cd .. 221 221 fi 222 ln -sf meso_callkeys_newphys.h meso_callkeys.h222 #ln -sf meso_callkeys_newphys.h meso_callkeys.h 223 223 cd Registry ; Registry.bash ; cd .. 224 224 else … … 310 310 echo ${dom} >> last 311 311 echo ${tra} >> last 312 echo ${scat} >> last 312 313 echo ${answer} >> last 313 echo ${scat} >> last314 314 315 315 #------------ … … 580 580 \rm dimphys.h 2> /dev/null 581 581 physize=$(expr ${physx} \* ${physy}) 582 sed s/--xsize--/${physx}/g meso_ dimphys.h_ref | sed s/--ysize--/${physy}/g | sed s/--physize--/${physize}/g | sed s/--zsize--/${physz}/g | sed s/--soilsize--/${soilsize}/g > dimphys.h582 sed s/--xsize--/${physx}/g meso_inc/meso_dimphys.h_ref | sed s/--ysize--/${physy}/g | sed s/--physize--/${physize}/g | sed s/--zsize--/${physz}/g | sed s/--soilsize--/${soilsize}/g > dimphys.h 583 583 head -15 dimphys.h 584 584 ### … … 586 586 if [[ "${phys}" == "newphys_" ]] 587 587 then 588 touch callkeys.h.meso589 ln -sf meso_callkeys.h callkeys.h588 #touch callkeys.h.meso 589 # ln -sf meso_callkeys.h callkeys.h 590 590 #touch dustlift.F.meso 591 591 # ln -sf meso_dustlift.F dustlift.F ## attention avec "ancienne nouvelle physique"
Note: See TracChangeset
for help on using the changeset viewer.