Changeset 117
- Timestamp:
- May 10, 2011, 6:33:29 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 8 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/chantiers/commit_importants.log
r110 r117 838 838 * Ajout de disvert.tex[/.pdf] dans la doc 839 839 840 ********************* 841 **** commit_v117 **** 842 ********************* 843 844 M 116 mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F 845 *** CORRECTION MAJEURE DE BUG : PSFC et TRACEURS PAS BIEN MIS A JOUR *** 846 - pdq au lieu de pdq*dt (dt = pas de temps dynamique) 847 - idem pour pdpsrf 848 IMPACT SURTOUT SUR LES SIMULATIONS LONGUES ET LES SIMULATIONS TACHE DE POUSSIERE (stage Julien) 849 TEST A EFFECTUER POUR LES SIMULATIONS CYCLE DE L'EAU 850 851 M 116 mars/libf/phymars/newsedim.F 852 M 116 mars/README 853 Correction de deux bugs dans newsedim.F: 1-e(-x) trop faible et endif mal place 854 855 M 116 mesoscale/LMDZ.MARS.new/myGCM/start.nc 856 A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM 857 A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/run.def 858 A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/traceur.def 859 A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/startfi72.nc 860 A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/start72.nc 861 A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/callphys.def 862 M 116 mesoscale/LMDZ.MARS.new/myGCM/traceur.def 863 M 116 mesoscale/LMDZ.MARS.new/myGCM/startfi.nc 864 M 116 mesoscale/LMDZ.MARS.new/myGCM/callphys.def 865 M 116 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/compile 866 M 116 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/launch_gcm 867 M 116 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/run_mcd_3days 868 Nouvelle base de donnees d'etats initiaux sans les nuages radiativement actifs 869 870 A 0 mesoscale/PLOT/SPEC/LES/turb_period_psfc.pro 871 A 0 mesoscale/PLOT/SPEC/LES/turb_inc.pro.new 872 M 116 mesoscale/PLOT/SPEC/GW/gravitwave2.pro 873 M 116 mesoscale/PLOT/SPEC/GW/gravitwaveprof.pro 874 Petites MAJ routines graphiques 875 -
trunk/mars/README
r90 r117 622 622 >> new version version for aeroptproperties.F in phymars to limit uncertainties and be able to play with ngau 623 623 >> this was coded by JBM in his personal reference version but not transmitted to the team reference version 624 625 == 10/05/2011 == AS + JF 626 >> in newsedim.F used for mesoscale computations, spurious values close to the surface 627 --> this was related to 1 - exp(-x) calculated as zero in w(ig,l) if x is very small 628 --> fix: when this happens, replace exp(-x) by 1 - x since x ~ 0 629 >> in newsedim.F, "if (dztop.gt.epaisseur(ig,l)) then" was closed too soon by an "endif" 630 --> hence basically the simple method was never used 631 and useless calculations with the complex method were carried out 632 --> fix by moving the closing "endif" [in addition to corrections mentioned in the previous point] 633 -
trunk/mars/libf/phymars/newsedim.F
r38 r117 67 67 68 68 69 70 69 c ** un petit test de coherence 71 70 c -------------------------- … … 138 137 k=0 139 138 139 w(ig,l) = 0. !! JF+AS ajout initialisation 140 140 c ************************************************************** 141 141 c Simple Method 142 w(ig,l) = 143 & (1- exp(-dztop*g/(r*pt(ig,l))))*pplev(ig,l) / g 144 cc write(*,*) 'OK simple method l,w =', l, w(ig,l) 145 cc write(*,*) 'OK simple method dztop =', dztop 142 143 cc w(ig,l) = 144 cc & (1.- exp(-dztop*g/(r*pt(ig,l))))*pplev(ig,l) / g 145 cccc write(*,*) 'OK simple method l,w =', l, w(ig,l) 146 cccc write(*,*) 'OK simple method dztop =', dztop 147 148 w(ig,l) = 1. - exp(-dztop*g/(r*pt(ig,l))) 149 !!! Diagnostic: JF. Fix: AS. Date: 05/11 150 !!! Probleme arrondi avec la quantite ci-dessus 151 !!! ---> vaut 0 pour -dztop*g/(r*pt(ig,l)) trop petit 152 !!! ---> dans ce cas on utilise le developpement limite ! 153 !!! ---> exp(-x) = 1 - x lorsque x --> 0 avec une erreur de x^2 / 2 154 IF ( w(ig,l) .eq. 0. ) THEN 155 w(ig,l) = ( dztop*g/(r*pt(ig,l)) ) * pplev(ig,l) / g 156 ELSE 157 w(ig,l) = w(ig,l) * pplev(ig,l) / g 158 ENDIF 159 160 146 161 c ************************************************************** 147 162 cccc Complex method : 148 if (dztop.gt.epaisseur(ig,l)) then 163 if (dztop.gt.epaisseur(ig,l)) then !!!if on traverse plus d'une couche 149 164 cccc Cas ou on "epuise" la couche l : On calcule le flux 150 165 cccc Venant de dessus en tenant compte de la variation de Vstokes 151 166 c ************************************************************** 152 167 Ep= epaisseur(ig,l) 153 168 Stra= traversee(ig,l) … … 159 174 enddo 160 175 Ep = Ep - epaisseur(ig,l+k) 161 end if 162 ptop=pplev(ig,l+k)*exp(-(dztop-Ep)*g/(r*pt(ig,l+k))) 163 w(ig,l) = (pplev(ig,l) -Ptop)/g 164 c 176 !ptop=pplev(ig,l+k)*exp(-(dztop-Ep)*g/(r*pt(ig,l+k))) 177 178 !!! JF+AS 05/11 Probleme arrondi potentiel, meme solution que ci-dessus 179 ptop=exp(-(dztop-Ep)*g/(r*pt(ig,l+k))) 180 IF ( ptop .eq. 1. ) THEN 181 PRINT*, 'exposant trop petit ', ig, l 182 ptop=pplev(ig,l+k) * ( 1. - (dztop-Ep)*g/(r*pt(ig,l+k))) 183 ELSE 184 ptop=pplev(ig,l+k) * ptop 185 ENDIF 186 w(ig,l) = (pplev(ig,l) - Ptop)/g 187 188 endif !!!!!if complex method 189 190 165 191 cc write(*,*) 'OK new method l,w =', l, w(ig,l) 166 192 cc write(*,*) 'OK new method dztop =', dztop … … 171 197 cc if(l.eq.8)write(*,*)'l=8,k, w',k, w(1,l) 172 198 c ************************************************************** 199 200 173 201 end do 174 202 end do -
trunk/mesoscale/LMDZ.MARS.new/myGCM/callphys.def
r77 r117 1 link DEFS_JB/ callphys.def.orig1 link DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/callphys.def -
trunk/mesoscale/LMDZ.MARS.new/myGCM/start.nc
r54 r117 1 link DEFS_JB/start40.nc1 link /d5/aslmd/LMD_MM_MARS_DATA/STARTBASE_64_48_25_t2dust_JBM//start284.nc -
trunk/mesoscale/LMDZ.MARS.new/myGCM/startfi.nc
r54 r117 1 link DEFS_JB/startfi40.nc1 link /d5/aslmd/LMD_MM_MARS_DATA/STARTBASE_64_48_25_t2dust_JBM//startfi284.nc -
trunk/mesoscale/LMDZ.MARS.new/myGCM/traceur.def
r54 r117 1 link DEFS_JB/ traceur.def1 link DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/traceur.def -
trunk/mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/compile
r54 r117 28 28 ny=48 29 29 nz=25 30 ################## 31 #tracers=2 32 #nx=64 33 #ny=48 34 #nz=25 30 35 ################## 31 36 -
trunk/mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/launch_gcm
r31 r117 17 17 #startbase='/tmp7/aslmd/flush/' 18 18 #startbase='/tmp7/aslmd/flush2/' 19 startbase='/d6/vblmd/MERIDIANI_EXOMARS/starts_en_cours/tau05/' 19 #startbase='/d6/vblmd/MERIDIANI_EXOMARS/starts_en_cours/tau05/' 20 startbase='/d5/aslmd/LMD_MM_MARS_DATA/STARTBASE_64_48_25_t2dust_JBM/' 20 21 ################## 21 22 -
trunk/mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/run_mcd_3days
r93 r117 17 17 runnum=0 ## 0 whatever, this is just the way one counts successive runs 18 18 runnum_obsolete=0 19 daynum= 61 #019 daynum=0 #61 #0 20 20 21 21 while [ ${daynum} -lt ${daylim} ] -
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r111 r117 1115 1115 DEALLOCATE(output_tab3d) 1116 1116 1117 1118 !!!!!!! 1119 !!!!!!! SPECIAL POUR AJOUTER UNE TACHE DE POUSSIERE (sparadrap) 1120 !!!!!!! ps: induit une erreur benigne sur la partie de pdq qui n'est pas zdqnorm 1121 !!!!!!! ps: la raison est que dt n'est pas passe dans meso_physiq 1122 !!!!!!! 1123 !IF (firstcall .EQV. .true.) THEN 1124 ! pdq(:,:,:) = pdq(:,:,:) / dt 1125 !ENDIF 1126 1127 1117 1128 !---------------------------------------------------------------------------------! 1118 1129 ! PHYSIQ TENDENCIES ARE SAVED TO BE SPLIT WITHIN INTERMEDIATE DYNAMICAL TIMESTEPS ! … … 1178 1189 ! (cf CO2 cycle in physics) ! 1179 1190 !---------------------------! 1180 PSFC(i,j)=PSFC(i,j)+pdpsrf(subs) 1191 PSFC(i,j)=PSFC(i,j)+pdpsrf(subs)*dt !!! here dt is needed 1181 1192 1182 1193 !---------! … … 1185 1196 #ifdef NEWPHYS 1186 1197 SCALAR(i,kps:kpe,j,1)=0. 1187 SCALAR(i,kps:kpe,j,2:nq+1)=SCALAR(i,kps:kpe,j,2:nq+1)+pdq(subs,kps:kpe,1:nq) 1198 SCALAR(i,kps:kpe,j,2:nq+1)=SCALAR(i,kps:kpe,j,2:nq+1)+pdq(subs,kps:kpe,1:nq)*dt !!! here dt is needed 1188 1199 #else 1189 1200 SELECT CASE (MARS_MODE) … … 1192 1203 CASE(1) 1193 1204 !!! Water vapor 1194 SCALAR(i,kps:kpe,j,2)=SCALAR(i,kps:kpe,j,2)+pdq(subs,kps:kpe,nq) 1205 SCALAR(i,kps:kpe,j,2)=SCALAR(i,kps:kpe,j,2)+pdq(subs,kps:kpe,nq)*dt !!! here dt is needed 1195 1206 !!! Water ice 1196 SCALAR(i,kps:kpe,j,3)=SCALAR(i,kps:kpe,j,3)+pdq(subs,kps:kpe,nq-1) 1207 SCALAR(i,kps:kpe,j,3)=SCALAR(i,kps:kpe,j,3)+pdq(subs,kps:kpe,nq-1)*dt !!! here dt is needed 1197 1208 CASE(2) 1198 1209 !!! Dust 1199 SCALAR(i,kps:kpe,j,2)=SCALAR(i,kps:kpe,j,2)+pdq(subs,kps:kpe,nq) 1210 SCALAR(i,kps:kpe,j,2)=SCALAR(i,kps:kpe,j,2)+pdq(subs,kps:kpe,nq)*dt !!! here dt is needed 1200 1211 CASE(3:) 1201 1212 print *, 'OOOPS... not ready yet.' … … 1309 1320 1310 1321 END MODULE module_lmd_driver 1311 -
trunk/mesoscale/PLOT/SPEC/GW/gravitwave2.pro
r114 r117 13 13 folder='/d5/aslmd/GRAVITWAVE/GW_MARS_highwind_narrowmountain_2D.morepoints.160818/' 14 14 folder='/d5/aslmd/GRAVITWAVE/GW_MARS_highwind_3D_loweropacity_morepoints_LT15.161544/' 15 folder='/home/aslmd/GRAVITWAVE/GW_MARS_highwind_3D_loweropacity_morepoints_LTcst.168440/' 16 folder='/home/aslmd/GRAVITWAVE/GW_MARS_highwind_3D_loweropacity_morepoints_widehill.168468/' 15 17 file=folder+'wrfout_d01_9999-09-09_09:00:00_z' 16 18 charvar='W' & charvarc='W' -
trunk/mesoscale/PLOT/SPEC/GW/gravitwaveprof.pro
r114 r117 9 9 path='../TESTGW/' 10 10 path='/tmp7/aslmd/' 11 path='/ d5/aslmd/GRAVITWAVE/'11 path='/home/aslmd/GRAVITWAVE/' 12 12 experiment='mcd_lt16_rcpcst' 13 13 ;experiment='mcd_lt16' … … 29 29 experiment='GW_MARS_highwind_3D_loweropacity_morepoints.161542' 30 30 experiment='GW_MARS_highwind_3D_loweropacity_morepoints_LT15.161544' 31 experiment='GW_MARS_highwind_3D_loweropacity_morepoints_LTcst.168440' 32 experiment='GW_MARS_highwind_3D_loweropacity_morepoints_widehill.168468' 31 33 file=path+experiment+'_wrfout_d01_9999-09-09_09:00:00_z' 32 34 file=path+experiment+'/wrfout_d01_9999-09-09_09:00:00_z' … … 88 90 ;mean_columnp = TOTAL(columnp(*,*,*,nts:nte),4) / float(nte-nts+1) 89 91 anomal_invar = invar & for i=0,s[4]-1 do anomal_invar(*,*,*,i) = anomal_invar(*,*,*,i) - mean_invar 90 ; 91 ; 92 ; 93 ;goto, perturb92 ;; 93 ;; 94 ;; 95 ; goto, perturb 94 96 for nt=nts,nte do begin 95 97 for nx=nxs,nxe do begin … … 257 259 oplot, overplot, overplot_column 258 260 endfor 261 262 ;temppp = reform(mean_invar(nxs,middle,*)) 263 ;hache = 191.*temppp/3.72/1000. 264 ;ok = column / ( 2. * hache ) 265 ;print, exp(ok) 266 ;yeah = exp(ok) 267 ;oplot, yeah, column 268 259 269 PS_End, /PNG 260 270
Note: See TracChangeset
for help on using the changeset viewer.