Changeset 73
- Timestamp:
- Feb 20, 2011, 12:20:51 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mars/libf/phymars/meso_physiq.F
r61 r73 192 192 REAL ust(ngridmx) !! pour LES avec isfflx!=0 193 193 LOGICAL flag_LES !! pour LES avec isfflx!=0 194 REAL qsurflast(ngridmx) !! pour diagnostics 194 195 real alpha,lay1 ! coefficients for building layers 195 196 integer iloop … … 1250 1251 1251 1252 IF (tracer.AND.water.AND.(ngridmx.NE.1)) THEN 1252 if (caps.and.(obliquit.lt.27.)) then 1253 ! NB: Updated surface pressure, at grid point 'ngrid', is 1254 ! ps(ngrid)=pplev(ngrid,1)+pdpsrf(ngrid)*ptimestep 1255 tsurf(ngrid)=1./(1./136.27-r/5.9e+5*alog(0.0095* 1256 & (pplev(ngrid,1)+pdpsrf(ngrid)*ptimestep))) 1257 endif 1253 ! if (caps.and.(obliquit.lt.27.)) then 1254 ! ! NB: Updated surface pressure, at grid point 'ngrid', is 1255 ! ! ps(ngrid)=pplev(ngrid,1)+pdpsrf(ngrid)*ptimestep 1256 ! tsurf(ngrid)=1./(1./136.27-r/5.9e+5*alog(0.0095* 1257 ! & (pplev(ngrid,1)+pdpsrf(ngrid)*ptimestep))) 1258 ! endif 1259 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1260 !!!!! note WRF MESOSCALE AYMERIC -- mot cle "caps" 1261 !!!!! watercaptag n'est plus utilise que dans vdifc 1262 !!!!! ... pour que la sublimation ne soit pas stoppee 1263 !!!!! ... dans la calotte permanente nord si qsurf=0 1264 !!!!! on desire garder cet effet regle par caps=T 1265 !!!!! on a donc commente "if (caps.and.(obliquit.lt.27.))" ci-dessus 1266 !!!!! --- remplacer ces lignes par qqch de plus approprie 1267 !!!!! si on s attaque a la calotte polaire sud 1268 !!!!! pas d'autre occurrence majeure du mot-cle "caps" 1269 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1270 1258 1271 c ------------------------------------------------------------- 1259 1272 c Change of surface albedo (set to 0.4) in case of ground frost … … 1563 1576 wtsurf(ig) = tsurf(ig) !! surface temperature 1564 1577 wco2ice(ig) = co2ice(ig) !! co2 ice 1578 1579 !!! TEMP TEMP TEMP TEMP TEMP TEMP TEMP 1580 !!! specific to WRF WRF WRF 1581 !!! just to output water ice on surface 1582 !!! [it might not be water ice on surface but OK] 1583 !!! uncomment the Registry entry 1584 qsurflast(ig) = qsurf(ig,nqmx) 1585 1565 1586 enddo 1566 1587 c -
trunk/mesoscale/LMDZ.MARS.new/libf/phymars/physiq.F
r54 r73 1324 1324 1325 1325 !!!! waterice = q01, voir readmeteo.F90 1326 call WRITEDIAGFI(ngridmx,'q01',noms(i q),1326 call WRITEDIAGFI(ngridmx,'q01',noms(igcm_h2o_ice), 1327 1327 & 'kg/kg',3, 1328 1328 & zq(1:ngridmx,1:nlayermx,igcm_h2o_ice)) 1329 1329 !!!! watervapor = q02, voir readmeteo.F90 1330 call WRITEDIAGFI(ngridmx,'q02',noms(i q),1330 call WRITEDIAGFI(ngridmx,'q02',noms(igcm_h2o_vap), 1331 1331 & 'kg/kg',3, 1332 1332 & 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 1333 !!!! surface waterice qsurf02 (voir readmeteo) 1334 call WRITEDIAGFI(ngridmx,'qsurf02','surface tracer', 1335 & 'kg.m-2',2, 1336 & qsurf(1:ngridmx,igcm_h2o_ice)) 1337 1337 1338 1338 c CALL WRITEDIAGFI(ngridmx,'mtot', -
trunk/mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars/myGCM/run.def.INIT
r11 r73 6 6 - Nombre de jours d'integration 7 7 nday 8 10 30 108 5 10 30 10 9 9 10 10 - nombre de pas par jour (multiple de iperiod) ( ici pour dt = 1 min ) -
trunk/mesoscale/LMD_MM_MARS/SRC/POSTPROC/api.F90
r19 r73 48 48 ! MARS CONSTANTS 49 49 ! 50 REAL, PARAMETER :: Rd = 192. ! gas constant m2 s-2 K-151 REAL, PARAMETER :: Cp = 844.6 ! r= 8.314511E+0*1000.E+0/mugaz52 !REAL, PARAMETER :: Rd = 191.053 !REAL, PARAMETER :: Cp = 744.550 !REAL, PARAMETER :: Rd = 192. ! gas constant m2 s-2 K-1 51 !REAL, PARAMETER :: Cp = 844.6 ! r= 8.314511E+0*1000.E+0/mugaz 52 REAL, PARAMETER :: Rd = 191.0 53 REAL, PARAMETER :: Cp = 744.5 54 54 REAL, PARAMETER :: RCP = Rd/Cp 55 55 REAL, PARAMETER :: p0 = 610. -
trunk/mesoscale/LMD_MM_MARS/SRC/PREP_MARS/readmeteo.F90
r72 r73 74 74 !! Intermediate data arrays 75 75 integer :: k,l,m,n,p 76 real, dimension(:), allocatable :: lat,lon,time,alt,aps,bps,levels, dsoilvert76 real, dimension(:), allocatable :: lat,lon,time,alt,aps,bps,levels,vertdsoil 77 77 real, dimension(:,:), allocatable :: vide,ones,ghtsfile 78 78 real, dimension(:,:), allocatable :: interm … … 207 207 allocate(dsoilfile(lonlen,latlen,altlen,timelen)) 208 208 allocate(isoilfile(lonlen,latlen,altlen,timelen)) 209 allocate( dsoilvert(altlen))209 allocate(vertdsoil(altlen)) 210 210 !allocate(tfileorig(lonlen,latlen,altlen,timelen)) 211 211 allocate(ufile(lonlen,latlen,altlen,timelen)) … … 240 240 isoilfile(:,:,:,:)=0 241 241 dsoilfile(:,:,:,:)=0 242 dsoilvert(:)=0.242 vertdsoil(:)=0. 243 243 !tfileorig(:,:,:,:)=0 244 244 !ufileorig(:,:,:,:)=0 … … 591 591 592 592 print *,'Surface Water ice' 593 ierr=NF_INQ_VARID(nid,"qsurf01",nvarid) 593 !!!!!! ATTENTION ATTENTION 594 !!!!!! water ice a la surface est qsurf(ig,nqmx) 595 ierr=NF_INQ_VARID(nid,"qsurf02",nvarid) 594 596 if (ierr.ne.NF_NOERR) then 595 write(*,*) "...No qsurf0 1- surface Water ice set to 0"597 write(*,*) "...No qsurf02 - surface Water ice set to 0" 596 598 swatericefile(:,:,:)=0. 597 599 else … … 648 650 write(*,*) "...No soildepth - Set to -999" !!! see soil_settings in LMD physics 649 651 DO l=1,altlen 650 dsoilvert(l)=-999.652 vertdsoil(l)=-999. 651 653 ENDDO 652 654 else 653 ierr=NF_GET_VAR_REAL(nid,nvarid, dsoilvert)655 ierr=NF_GET_VAR_REAL(nid,nvarid,vertdsoil) 654 656 endif 655 657 print *, 'wait a minute' !! AS: I know this could be better … … 657 659 DO n=1,latlen 658 660 DO p=1,timelen 659 dsoilfile(m,n,:,p) = dsoilvert(:)661 dsoilfile(m,n,:,p) = vertdsoil(:) 660 662 ENDDO 661 663 ENDDO … … 1050 1052 !------------------------! 1051 1053 FIELD='SM100200' 1052 UNITS='kg/ kg'1054 UNITS='kg/m2' 1053 1055 DESC='Surf water ice' 1054 1056 XLVL=200100. … … 1470 1472 deallocate(isoilfile) 1471 1473 deallocate(dsoilfile) 1472 !deallocate(dsoilvert)1473 1474 !deallocate(tfileorig) 1474 1475 deallocate(ufile) -
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/mars_lmd/libf/phymars/meso_physiq.F
r72 r73 1321 1321 1322 1322 IF (tracer.AND.water.AND.ngridmx.NE.1) THEN 1323 if (caps.and.(obliquit.lt.27.)) then 1324 tsurf(ngrid)=1/(1/136.27-r/5.9e+5*alog(0.0095*ps(ngrid))) 1325 endif 1323 !if (caps.and.(obliquit.lt.27.)) then 1324 ! tsurf(ngrid)=1/(1/136.27-r/5.9e+5*alog(0.0095*ps(ngrid))) 1325 !endif 1326 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1327 !!!!! note WRF MESOSCALE AYMERIC -- mot cle "caps" 1328 !!!!! watercaptag n'est plus utilise que dans vdifc 1329 !!!!! ... pour que la sublimation ne soit pas stoppee 1330 !!!!! ... dans la calotte permanente nord si qsurf=0 1331 !!!!! on desire garder cet effet regle par caps=T 1332 !!!!! on a donc commente "if (caps.and.(obliquit.lt.27.))" ci-dessus 1333 !!!!! --- remplacer ces lignes par qqch de plus approprie 1334 !!!!! si on s attaque a la calotte polaire sud 1335 !!!!! pas d'autre occurrence majeure du mot-cle "caps" 1336 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1337 1326 1338 c ------------------------------------------------------------- 1327 1339 c Change of surface albedo (set to 0.4) in case of ground frost -
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r72 r73 154 154 !------------------------------------------- 155 155 INTEGER :: i,j,k,its,ite,jts,jte,ij 156 INTEGER :: subs 156 INTEGER :: subs,iii 157 157 158 158 ! *** for LMD physics … … 623 623 CASE(0) !! NO TRACERS (mars=0) 624 624 wtnom(nq) = 'co2' 625 CASE(1) 626 wtnom(1) = 'h2o_vap' 627 wtnom(2) = 'h2o_ice' 628 CASE(2) 629 wtnom(1) = 'dust' 625 630 CASE(11) !! newwater mars==11 scalar:qh2o,qh2o_ice,qdust,qdust_number,qco2 626 631 wtnom(nq) = 'co2' … … 665 670 #ifdef NEWPHYS 666 671 q_prof(:,1:nq) = SCALAR(i,kps:kpe,j,2:nq+1) !! the names were set above !! one dummy tracer in WRF 667 q_prof(:,nq) = 0.95 !! cas du CO2 !! TEMPORAIRE 672 !!! CAS DU CO2 673 DO iii=1,nq 674 IF ( wtnom(iii) .eq. 'co2' ) q_prof(:,iii) = 0.95 675 ENDDO 668 676 #else 669 677 SELECT CASE (MARS_MODE) … … 790 798 ! Tracer at surface ! 791 799 !-------------------! 792 #ifdef NEWPHYS793 !!! a faire !!!794 PRINT *, 'WARNING WARNING no tracer at surface'795 qsurf_val(:)=0.796 #else797 800 SELECT CASE (MARS_MODE) 798 801 CASE(0) !! NO TRACERS (mars=0) 799 802 qsurf_val(:)=0. 800 803 CASE(1) !! WATER CYCLE (mars=1) 804 #ifdef NEWPHYS 805 qsurf_val(2)=MARS_WICE(i,j) !! logique avec wtnom(2) = 'h2o_ice' defini ci-dessus 806 qsurf_val(1)=0. 807 #else 801 808 qsurf_val(2)=MARS_WICE(i,j) !! attention... H2O ice is tracer nqmx in qsurf in LMD physics 802 qsurf_val(1)=0. 809 qsurf_val(1)=0. 810 #endif 803 811 CASE(2) !! DUST CYCLE (mars=2) 804 812 qsurf_val(:)=0. 813 #ifdef NEWPHYS 814 CASE(11) 815 qsurf_val(:)=0. !! provisoire 816 #endif 805 817 END SELECT 806 #endif807 818 808 819 !-------------------! -
trunk/mesoscale/LMD_MM_MARS/makemeso
r71 r73 171 171 if [[ "${phys}" == "newphys_" ]] 172 172 then 173 \rm copy_model_tmp > /dev/null 173 174 sed s+"mars_lmd"+"mars_lmd_new"+g copy_model > copy_model_tmp 174 175 chmod 755 copy_model_tmp -
trunk/mesoscale/NOTES.txt
r72 r73 1 2 3 more than 4 procs w/ nest ??? y reflechir 4 ----------------------------------------------------------------------- 5 -- si possible comment determiner taille ? 6 nproc doit diviser e_we-1 (1er nest) 7 grid_ratio doit diviser e_we-1 +4 (1er nest) 8 soit e_we=ye+1 9 grid_ratio divise ye+4 et nproc divise ye 10 soit nproc=8, ye=8*i 11 ainsi il existe j tel que 8i + 4 = 3j ou encore 4*[2i+1] = 3j 12 verifie par exemple si 2i+1 est multiple de 3 13 il suffit donc de trouver un multiple impair de 3 et de deduire i 14 par exemple 2i+1=33 >>>> i=16 15 >>>> e_we = 129 pour le 1er nest (et ajouter 4 pour les suivants) 16 ------------------------------------------------------------------------ 17 18 pour le cycle de l'eau c'est OK de regler caps=F dans le mesoscale 19 sauf si on commence a devoiler la calotte permanente nord 20 21 NE SERAIT-CE PAS MIEUX DE TOUT TRANSMETTRE AUX BORNES ??? 22 tous les traceurs, pas seulement vapor 23 1 24 2 25 - attention il faut les trois MARS sinon il s arrete sans message clair
Note: See TracChangeset
for help on using the changeset viewer.