Changeset 888
- Timestamp:
- Feb 18, 2013, 2:56:41 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.TITAN/Tools/fft.F90
r816 r888 208 208 ! 2.1.1 Atmospheric temperature 209 209 !=============================================================================== 210 if (ok_out(4)) then 210 211 allocate(temp(lonlength,latlength,altlength,timelength)) 211 212 … … 216 217 text="t" 217 218 call get_var4d(infid,lonlength,latlength,altlength,timelength,text,temp,ierr1,ierr2) 218 if (ierr1.ne.NF_NOERR) stop "Error: Failed to get temperature ID" 219 endif 220 if (ierr2.ne.NF_NOERR) stop "Error: Failed reading temperature" 219 if (ierr1.ne.NF_NOERR) then 220 print*,"Error: Failed to get temperature ID" 221 ok_out(4)=.false. 222 endif 223 endif 224 if (ierr2.ne.NF_NOERR) then 225 print*,"Error: Failed reading temperature" 226 ok_out(4)=.false. 227 endif 228 endif !ok_out(4) 221 229 222 230 !=============================================================================== 223 231 ! 2.1.2 Winds 224 232 !=============================================================================== 233 ! zonal wind vitu (in m/s) 234 if (ok_out(1)) then 225 235 allocate(vitu(lonlength,latlength,altlength,timelength)) 226 allocate(vitv(lonlength,latlength,altlength,timelength)) 227 allocate(vitw(lonlength,latlength,altlength,timelength)) 228 229 ! zonal wind vitu (in m/s) 236 230 237 text="vitu" 231 238 call get_var4d(infid,lonlength,latlength,altlength,timelength,text,vitu,ierr1,ierr2) 232 if (ierr1.ne.NF_NOERR) stop "Error: Failed to get vitu ID" 233 if (ierr2.ne.NF_NOERR) stop "Error: Failed reading zonal wind" 239 if (ierr1.ne.NF_NOERR) then 240 print*,"Error: Failed to get vitu ID" 241 ok_out(1)=.false. 242 endif 243 if (ierr2.ne.NF_NOERR) then 244 print*,"Error: Failed reading zonal wind" 245 ok_out(1)=.false. 246 endif 247 endif !ok_out(1) 234 248 235 249 ! meridional wind vitv (in m/s) 250 if (ok_out(2)) then 251 allocate(vitv(lonlength,latlength,altlength,timelength)) 252 236 253 text="vitv" 237 254 call get_var4d(infid,lonlength,latlength,altlength,timelength,text,vitv,ierr1,ierr2) 238 if (ierr1.ne.NF_NOERR) stop "Error: Failed to get vitv ID" 239 if (ierr2.ne.NF_NOERR) stop "Error: Failed reading meridional wind" 255 if (ierr1.ne.NF_NOERR) then 256 print*,"Error: Failed to get vitv ID" 257 ok_out(2)=.false. 258 endif 259 if (ierr2.ne.NF_NOERR) then 260 print*,"Error: Failed reading meridional wind" 261 ok_out(2)=.false. 262 endif 263 endif !ok_out(2) 240 264 241 265 ! vertical wind vitw (in Pa/s) 266 if (ok_out(3)) then 267 allocate(vitw(lonlength,latlength,altlength,timelength)) 268 242 269 text="vitw" 243 270 call get_var4d(infid,lonlength,latlength,altlength,timelength,text,vitw,ierr1,ierr2) 244 if (ierr1.ne.NF_NOERR) stop "Error: Failed to get vitw ID" 245 if (ierr2.ne.NF_NOERR) stop "Error: Failed reading vertical wind" 271 if (ierr1.ne.NF_NOERR) then 272 print*,"Error: Failed to get vitw ID" 273 ok_out(3)=.false. 274 endif 275 if (ierr2.ne.NF_NOERR) then 276 print*,"Error: Failed reading vertical wind" 277 ok_out(3)=.false. 278 endif 279 endif !ok_out(3) 246 280 247 281 !=============================================================================== … … 256 290 ! allocations 257 291 !------------- 292 if (ok_out(1)) then 258 293 allocate(fftau(lonlength,latlength,altlength,timelength)) 294 allocate(uprim(lonlength,latlength,altlength,timelength)) 295 allocate(ulf(lonlength,latlength,altlength,timelength)) 296 allocate(ubf(lonlength,latlength,altlength,timelength)) 297 allocate(uhf(lonlength,latlength,altlength,timelength)) 298 endif !ok_out(1) 299 if (ok_out(2)) then 259 300 allocate(fftav(lonlength,latlength,altlength,timelength)) 301 allocate(vprim(lonlength,latlength,altlength,timelength)) 302 allocate(vlf(lonlength,latlength,altlength,timelength)) 303 allocate(vbf(lonlength,latlength,altlength,timelength)) 304 allocate(vhf(lonlength,latlength,altlength,timelength)) 305 endif !ok_out(2) 306 if (ok_out(3)) then 260 307 allocate(fftaw(lonlength,latlength,altlength,timelength)) 308 allocate(wprim(lonlength,latlength,altlength,timelength)) 309 allocate(wlf(lonlength,latlength,altlength,timelength)) 310 allocate(wbf(lonlength,latlength,altlength,timelength)) 311 allocate(whf(lonlength,latlength,altlength,timelength)) 312 endif !ok_out(3) 313 if (ok_out(4)) then 261 314 allocate(fftaT(lonlength,latlength,altlength,timelength)) 262 allocate(uprim(lonlength,latlength,altlength,timelength))263 allocate(vprim(lonlength,latlength,altlength,timelength))264 allocate(wprim(lonlength,latlength,altlength,timelength))265 315 allocate(Tprim(lonlength,latlength,altlength,timelength)) 266 allocate(ulf(lonlength,latlength,altlength,timelength))267 allocate(vlf(lonlength,latlength,altlength,timelength))268 allocate(wlf(lonlength,latlength,altlength,timelength))269 316 allocate(Tlf(lonlength,latlength,altlength,timelength)) 270 allocate(ubf(lonlength,latlength,altlength,timelength))271 allocate(vbf(lonlength,latlength,altlength,timelength))272 allocate(wbf(lonlength,latlength,altlength,timelength))273 317 allocate(Tbf(lonlength,latlength,altlength,timelength)) 274 allocate(uhf(lonlength,latlength,altlength,timelength))275 allocate(vhf(lonlength,latlength,altlength,timelength))276 allocate(whf(lonlength,latlength,altlength,timelength))277 318 allocate(Thf(lonlength,latlength,altlength,timelength)) 319 endif !ok_out(4) 278 320 279 321 ! lon,lat,alt 280 allocate(umean(lonlength,latlength,altlength))281 allocate(vmean(lonlength,latlength,altlength))282 allocate(wmean(lonlength,latlength,altlength))283 allocate(Tmean(lonlength,latlength,altlength))322 if (ok_out(1)) allocate(umean(lonlength,latlength,altlength)) 323 if (ok_out(2)) allocate(vmean(lonlength,latlength,altlength)) 324 if (ok_out(3)) allocate(wmean(lonlength,latlength,altlength)) 325 if (ok_out(4)) allocate(Tmean(lonlength,latlength,altlength)) 284 326 285 327 ! time / frequencies … … 298 340 !----------------- 299 341 300 call moytim(lonlength,latlength,altlength,timelength,miss_val,vitu,umean)301 call moytim(lonlength,latlength,altlength,timelength,miss_val,vitv,vmean)302 call moytim(lonlength,latlength,altlength,timelength,miss_val,vitw,wmean)303 call moytim(lonlength,latlength,altlength,timelength,miss_val,temp,Tmean)342 if (ok_out(1)) call moytim(lonlength,latlength,altlength,timelength,miss_val,vitu,umean) 343 if (ok_out(2)) call moytim(lonlength,latlength,altlength,timelength,miss_val,vitv,vmean) 344 if (ok_out(3)) call moytim(lonlength,latlength,altlength,timelength,miss_val,vitw,wmean) 345 if (ok_out(4)) call moytim(lonlength,latlength,altlength,timelength,miss_val,temp,Tmean) 304 346 305 347 do ilon=1,lonlength … … 307 349 do ilev=1,altlength 308 350 do itim=1,timelength 351 if (ok_out(1)) then 309 352 if ((vitu(ilon,ilat,ilev,itim).ne.miss_val).and. & 310 353 (umean(ilon,ilat,ilev) .ne.miss_val)) then … … 313 356 uprim(ilon,ilat,ilev,itim) = miss_val 314 357 endif 358 endif !ok_out(1) 359 if (ok_out(2)) then 315 360 if ((vitv(ilon,ilat,ilev,itim).ne.miss_val).and. & 316 361 (vmean(ilon,ilat,ilev) .ne.miss_val)) then … … 319 364 vprim(ilon,ilat,ilev,itim) = miss_val 320 365 endif 366 endif !ok_out(2) 367 if (ok_out(3)) then 321 368 if ((vitw(ilon,ilat,ilev,itim).ne.miss_val).and. & 322 369 (wmean(ilon,ilat,ilev) .ne.miss_val)) then … … 325 372 wprim(ilon,ilat,ilev,itim) = miss_val 326 373 endif 374 endif !ok_out(3) 375 if (ok_out(4)) then 327 376 if ((temp(ilon,ilat,ilev,itim).ne.miss_val).and. & 328 377 (Tmean(ilon,ilat,ilev) .ne.miss_val)) then … … 331 380 Tprim(ilon,ilat,ilev,itim) = miss_val 332 381 endif 382 endif !ok_out(4) 333 383 enddo 334 384 enddo … … 743 793 datashape1d =time_dimid2 744 794 795 call write_var1d(outfid2,datashape1d,timelength,& 796 "freq ", "FFT frequencies ","s-1 ",miss_val,& 797 freq ) 798 745 799 call write_var4d(outfid2,datashape4d,lonlength,latlength,altlength,timelength,& 746 800 "fftav ", "FFT ampl of vitv ","m s-1 ",miss_val,& … … 768 822 datashape1d =time_dimid3 769 823 824 call write_var1d(outfid3,datashape1d,timelength,& 825 "freq ", "FFT frequencies ","s-1 ",miss_val,& 826 freq ) 827 770 828 call write_var4d(outfid3,datashape4d,lonlength,latlength,altlength,timelength,& 771 829 "fftaw ", "FFT ampl of vitw ","Pa s-1 ",miss_val,& … … 793 851 datashape1d =time_dimid4 794 852 853 call write_var1d(outfid4,datashape1d,timelength,& 854 "freq ", "FFT frequencies ","s-1 ",miss_val,& 855 freq ) 856 795 857 call write_var4d(outfid4,datashape4d,lonlength,latlength,altlength,timelength,& 796 858 "fftaT ", "FFT ampl of temp ","K ",miss_val,& -
trunk/LMDZ.TITAN/Tools/filter.h
r816 r888 11 11 12 12 ! Choice of output files: 13 ! 14 logical,dimension(4) ,parameter:: ok_out=(/.true.,.true.,.false.,.true./)13 ! (U, V, W, T) 14 logical,dimension(4) :: ok_out=(/.true.,.true.,.false.,.true./) 15 15 -
trunk/LMDZ.TITAN/libf/phytitan/cooling.F
r808 r888 137 137 save RHOP,UBARI,WNOI,DWNI 138 138 139 REAL effg ! effg est une fonction(z en m) 140 139 141 c----------------------------------------------------------------------- 140 142 … … 321 323 C TURN THE Q'S INTO TIMESCALES..... 322 324 DO 3300 ig=1,NG 323 eff_g = RG*(RA/(RA+Z(ig,J)))**2 ! 10% DIFF AT 1 MBAR 324 COLDEN = RHOP*(PRESS(ig,J+1)-PRESS(ig,J))/eff_g 325 COLDEN = RHOP*(PRESS(ig,J+1)-PRESS(ig,J))/effg(Z(ig,J)) 325 326 c Q0(J) = (COLDEN * CSUBP )/Q0(J) 326 327 Q0(ig,J) = Q0(ig,J) / (COLDEN*CSUBP) -
trunk/LMDZ.TITAN/libf/phytitan/ini_histday.h
r474 r888 11 11 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) 12 12 DO i = 1, iim 13 zx_lon(i,1) = rlond(i+ 1)14 zx_lon(i,jjmp1) = rlond(i+ 1)13 zx_lon(i,1) = rlond(i+jjmp1-jjm) 14 zx_lon(i,jjmp1) = rlond(i+jjmp1-jjm) 15 15 ENDDO 16 16 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlatd,zx_lat) -
trunk/LMDZ.TITAN/libf/phytitan/ini_histins.h
r175 r888 10 10 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) 11 11 DO i = 1, iim 12 zx_lon(i,1) = rlond(i+ 1)13 zx_lon(i,jjmp1) = rlond(i+ 1)12 zx_lon(i,1) = rlond(i+jjmp1-jjm) 13 zx_lon(i,jjmp1) = rlond(i+jjmp1-jjm) 14 14 ENDDO 15 15 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlatd,zx_lat) -
trunk/LMDZ.TITAN/libf/phytitan/ini_histmth.h
r474 r888 11 11 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) 12 12 DO i = 1, iim 13 zx_lon(i,1) = rlond(i+ 1)14 zx_lon(i,jjmp1) = rlond(i+ 1)13 zx_lon(i,1) = rlond(i+jjmp1-jjm) 14 zx_lon(i,jjmp1) = rlond(i+jjmp1-jjm) 15 15 ENDDO 16 16 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlatd,zx_lat) -
trunk/LMDZ.TITAN/libf/phytitan/optci_1pt_3.F
r808 r888 16 16 & pi, sigma, prod,reali,fhvis 17 17 18 integer k, j,inq 18 integer k, j,inq,kgas 19 19 20 20 real tbar, pbar, bmu, coef1, effg, taeros, taeroscat, cbar, 21 21 & qext, qsct, qabs, qbar, xmono, xrule, deltaz, tnuext, 22 22 & tnuscat, cnbar, qextc, qsctc, qabsc, qbarc, taugas, pnn, 23 & pcc, pcn, phn, kgas,u, ig, tau2, tlimit23 & pcc, pcn, phn, u, ig, tau2, tlimit 24 24 25 25 PARAMETER(NLAYER=llm,NLEVEL=NLAYER+1) -
trunk/LMDZ.TITAN/libf/phytitan/phytrac.F
r808 r888 712 712 c On a quand meme le droit de produire des traceurs dans la cellule. 713 713 c On considere donc que la valeur de sortie 3D correspond a la valeur de sortie 2D. 714 c Cela permet aussi entre autre d 'eviter les NaN pour les traceurs des nuages !714 c Cela permet aussi entre autre d eviter les NaN pour les traceurs des nuages ! 715 715 c (au dessus de la tropo pas de nuages donc qaer(nrad+1:ntype*nrad) = 0 !!!) 716 716 IF (zqaer0(j,l,iq).lt.1e-100) THEN … … 788 788 c---------------------- 789 789 c La microphysique avec nuages doit se faire obligatoirement en 3D. (FAUX ACTUELLEMENT) 790 c Rien n 'empeche de faire la chimie en 2D. Cependant pour prendre en compte la790 c Rien n empeche de faire la chimie en 2D. Cependant pour prendre en compte la 791 791 c condensation due a la microfi (en 3D) on recalcule la tendance finale pour 792 792 c les especes concernees (CH4, C2H6 pour le moment). … … 852 852 853 853 c-------------------------------------------------- 854 c CALCUL DU FLUX DE CHALEUR LATENTE D 'EVAPORATION854 c CALCUL DU FLUX DE CHALEUR LATENTE D EVAPORATION 855 855 c DU METHANE 856 856 c-------------------------------------------------- … … 941 941 c OCCCLD 942 942 c Calcul le nombre d'occurence d'un nuage 943 c d 'opacité comprise en kmin et kmax943 c d opacité comprise en kmin et kmax 944 944 c k kmin kmax 945 945 c 1 0.0000000 0.10000000 -
trunk/LMDZ.VENUS/Tools/fft.F90
r816 r888 208 208 ! 2.1.1 Atmospheric temperature 209 209 !=============================================================================== 210 if (ok_out(4)) then 210 211 allocate(temp(lonlength,latlength,altlength,timelength)) 211 212 … … 216 217 text="t" 217 218 call get_var4d(infid,lonlength,latlength,altlength,timelength,text,temp,ierr1,ierr2) 218 if (ierr1.ne.NF_NOERR) stop "Error: Failed to get temperature ID" 219 endif 220 if (ierr2.ne.NF_NOERR) stop "Error: Failed reading temperature" 219 if (ierr1.ne.NF_NOERR) then 220 print*,"Error: Failed to get temperature ID" 221 ok_out(4)=.false. 222 endif 223 endif 224 if (ierr2.ne.NF_NOERR) then 225 print*,"Error: Failed reading temperature" 226 ok_out(4)=.false. 227 endif 228 endif !ok_out(4) 221 229 222 230 !=============================================================================== 223 231 ! 2.1.2 Winds 224 232 !=============================================================================== 233 ! zonal wind vitu (in m/s) 234 if (ok_out(1)) then 225 235 allocate(vitu(lonlength,latlength,altlength,timelength)) 226 allocate(vitv(lonlength,latlength,altlength,timelength)) 227 allocate(vitw(lonlength,latlength,altlength,timelength)) 228 229 ! zonal wind vitu (in m/s) 236 230 237 text="vitu" 231 238 call get_var4d(infid,lonlength,latlength,altlength,timelength,text,vitu,ierr1,ierr2) 232 if (ierr1.ne.NF_NOERR) stop "Error: Failed to get vitu ID" 233 if (ierr2.ne.NF_NOERR) stop "Error: Failed reading zonal wind" 239 if (ierr1.ne.NF_NOERR) then 240 print*,"Error: Failed to get vitu ID" 241 ok_out(1)=.false. 242 endif 243 if (ierr2.ne.NF_NOERR) then 244 print*,"Error: Failed reading zonal wind" 245 ok_out(1)=.false. 246 endif 247 endif !ok_out(1) 234 248 235 249 ! meridional wind vitv (in m/s) 250 if (ok_out(2)) then 251 allocate(vitv(lonlength,latlength,altlength,timelength)) 252 236 253 text="vitv" 237 254 call get_var4d(infid,lonlength,latlength,altlength,timelength,text,vitv,ierr1,ierr2) 238 if (ierr1.ne.NF_NOERR) stop "Error: Failed to get vitv ID" 239 if (ierr2.ne.NF_NOERR) stop "Error: Failed reading meridional wind" 255 if (ierr1.ne.NF_NOERR) then 256 print*,"Error: Failed to get vitv ID" 257 ok_out(2)=.false. 258 endif 259 if (ierr2.ne.NF_NOERR) then 260 print*,"Error: Failed reading meridional wind" 261 ok_out(2)=.false. 262 endif 263 endif !ok_out(2) 240 264 241 265 ! vertical wind vitw (in Pa/s) 266 if (ok_out(3)) then 267 allocate(vitw(lonlength,latlength,altlength,timelength)) 268 242 269 text="vitw" 243 270 call get_var4d(infid,lonlength,latlength,altlength,timelength,text,vitw,ierr1,ierr2) 244 if (ierr1.ne.NF_NOERR) stop "Error: Failed to get vitw ID" 245 if (ierr2.ne.NF_NOERR) stop "Error: Failed reading vertical wind" 271 if (ierr1.ne.NF_NOERR) then 272 print*,"Error: Failed to get vitw ID" 273 ok_out(3)=.false. 274 endif 275 if (ierr2.ne.NF_NOERR) then 276 print*,"Error: Failed reading vertical wind" 277 ok_out(3)=.false. 278 endif 279 endif !ok_out(3) 246 280 247 281 !=============================================================================== … … 256 290 ! allocations 257 291 !------------- 292 if (ok_out(1)) then 258 293 allocate(fftau(lonlength,latlength,altlength,timelength)) 294 allocate(uprim(lonlength,latlength,altlength,timelength)) 295 allocate(ulf(lonlength,latlength,altlength,timelength)) 296 allocate(ubf(lonlength,latlength,altlength,timelength)) 297 allocate(uhf(lonlength,latlength,altlength,timelength)) 298 endif !ok_out(1) 299 if (ok_out(2)) then 259 300 allocate(fftav(lonlength,latlength,altlength,timelength)) 301 allocate(vprim(lonlength,latlength,altlength,timelength)) 302 allocate(vlf(lonlength,latlength,altlength,timelength)) 303 allocate(vbf(lonlength,latlength,altlength,timelength)) 304 allocate(vhf(lonlength,latlength,altlength,timelength)) 305 endif !ok_out(2) 306 if (ok_out(3)) then 260 307 allocate(fftaw(lonlength,latlength,altlength,timelength)) 308 allocate(wprim(lonlength,latlength,altlength,timelength)) 309 allocate(wlf(lonlength,latlength,altlength,timelength)) 310 allocate(wbf(lonlength,latlength,altlength,timelength)) 311 allocate(whf(lonlength,latlength,altlength,timelength)) 312 endif !ok_out(3) 313 if (ok_out(4)) then 261 314 allocate(fftaT(lonlength,latlength,altlength,timelength)) 262 allocate(uprim(lonlength,latlength,altlength,timelength))263 allocate(vprim(lonlength,latlength,altlength,timelength))264 allocate(wprim(lonlength,latlength,altlength,timelength))265 315 allocate(Tprim(lonlength,latlength,altlength,timelength)) 266 allocate(ulf(lonlength,latlength,altlength,timelength))267 allocate(vlf(lonlength,latlength,altlength,timelength))268 allocate(wlf(lonlength,latlength,altlength,timelength))269 316 allocate(Tlf(lonlength,latlength,altlength,timelength)) 270 allocate(ubf(lonlength,latlength,altlength,timelength))271 allocate(vbf(lonlength,latlength,altlength,timelength))272 allocate(wbf(lonlength,latlength,altlength,timelength))273 317 allocate(Tbf(lonlength,latlength,altlength,timelength)) 274 allocate(uhf(lonlength,latlength,altlength,timelength))275 allocate(vhf(lonlength,latlength,altlength,timelength))276 allocate(whf(lonlength,latlength,altlength,timelength))277 318 allocate(Thf(lonlength,latlength,altlength,timelength)) 319 endif !ok_out(4) 278 320 279 321 ! lon,lat,alt 280 allocate(umean(lonlength,latlength,altlength))281 allocate(vmean(lonlength,latlength,altlength))282 allocate(wmean(lonlength,latlength,altlength))283 allocate(Tmean(lonlength,latlength,altlength))322 if (ok_out(1)) allocate(umean(lonlength,latlength,altlength)) 323 if (ok_out(2)) allocate(vmean(lonlength,latlength,altlength)) 324 if (ok_out(3)) allocate(wmean(lonlength,latlength,altlength)) 325 if (ok_out(4)) allocate(Tmean(lonlength,latlength,altlength)) 284 326 285 327 ! time / frequencies … … 298 340 !----------------- 299 341 300 call moytim(lonlength,latlength,altlength,timelength,miss_val,vitu,umean)301 call moytim(lonlength,latlength,altlength,timelength,miss_val,vitv,vmean)302 call moytim(lonlength,latlength,altlength,timelength,miss_val,vitw,wmean)303 call moytim(lonlength,latlength,altlength,timelength,miss_val,temp,Tmean)342 if (ok_out(1)) call moytim(lonlength,latlength,altlength,timelength,miss_val,vitu,umean) 343 if (ok_out(2)) call moytim(lonlength,latlength,altlength,timelength,miss_val,vitv,vmean) 344 if (ok_out(3)) call moytim(lonlength,latlength,altlength,timelength,miss_val,vitw,wmean) 345 if (ok_out(4)) call moytim(lonlength,latlength,altlength,timelength,miss_val,temp,Tmean) 304 346 305 347 do ilon=1,lonlength … … 307 349 do ilev=1,altlength 308 350 do itim=1,timelength 351 if (ok_out(1)) then 309 352 if ((vitu(ilon,ilat,ilev,itim).ne.miss_val).and. & 310 353 (umean(ilon,ilat,ilev) .ne.miss_val)) then … … 313 356 uprim(ilon,ilat,ilev,itim) = miss_val 314 357 endif 358 endif !ok_out(1) 359 if (ok_out(2)) then 315 360 if ((vitv(ilon,ilat,ilev,itim).ne.miss_val).and. & 316 361 (vmean(ilon,ilat,ilev) .ne.miss_val)) then … … 319 364 vprim(ilon,ilat,ilev,itim) = miss_val 320 365 endif 366 endif !ok_out(2) 367 if (ok_out(3)) then 321 368 if ((vitw(ilon,ilat,ilev,itim).ne.miss_val).and. & 322 369 (wmean(ilon,ilat,ilev) .ne.miss_val)) then … … 325 372 wprim(ilon,ilat,ilev,itim) = miss_val 326 373 endif 374 endif !ok_out(3) 375 if (ok_out(4)) then 327 376 if ((temp(ilon,ilat,ilev,itim).ne.miss_val).and. & 328 377 (Tmean(ilon,ilat,ilev) .ne.miss_val)) then … … 331 380 Tprim(ilon,ilat,ilev,itim) = miss_val 332 381 endif 382 endif !ok_out(4) 333 383 enddo 334 384 enddo … … 743 793 datashape1d =time_dimid2 744 794 795 call write_var1d(outfid2,datashape1d,timelength,& 796 "freq ", "FFT frequencies ","s-1 ",miss_val,& 797 freq ) 798 745 799 call write_var4d(outfid2,datashape4d,lonlength,latlength,altlength,timelength,& 746 800 "fftav ", "FFT ampl of vitv ","m s-1 ",miss_val,& … … 768 822 datashape1d =time_dimid3 769 823 824 call write_var1d(outfid3,datashape1d,timelength,& 825 "freq ", "FFT frequencies ","s-1 ",miss_val,& 826 freq ) 827 770 828 call write_var4d(outfid3,datashape4d,lonlength,latlength,altlength,timelength,& 771 829 "fftaw ", "FFT ampl of vitw ","Pa s-1 ",miss_val,& … … 793 851 datashape1d =time_dimid4 794 852 853 call write_var1d(outfid4,datashape1d,timelength,& 854 "freq ", "FFT frequencies ","s-1 ",miss_val,& 855 freq ) 856 795 857 call write_var4d(outfid4,datashape4d,lonlength,latlength,altlength,timelength,& 796 858 "fftaT ", "FFT ampl of temp ","K ",miss_val,& -
trunk/LMDZ.VENUS/Tools/filter.h
r816 r888 11 11 12 12 ! Choice of output files: 13 ! 14 logical,dimension(4) ,parameter:: ok_out=(/.true.,.true.,.false.,.true./)13 ! (U, V, W, T) 14 logical,dimension(4) :: ok_out=(/.true.,.true.,.false.,.true./) 15 15 -
trunk/LMDZ.VENUS/deftank/physiq.def
r134 r888 29 29 OK_mensuel=y 30 30 ## frequence (en jours ) de l'ecriture du fichier histmth pour Venus 31 # regle la frequence d'ecriture dans histmth (mensuel) 31 # regle la frequence d'ecriture dans histmth (mensuel) et/ou histins 32 32 ecritphy=0.1 33 ### OK_instan=y, ecrire sorties "instantanees" ( chaque pas de temps de la physique)33 ### OK_instan=y, ecrire sorties "instantanees" (meme freq que histmth) 34 34 OK_instan=n 35 35 # -
trunk/LMDZ.VENUS/deftank/run.def
r809 r888 11 11 anneeref=1111 12 12 ## Remise a zero de la date initiale 13 raz_date= 113 raz_date=0 14 14 ## Reinit des variables de controle 15 15 resetvarc=n -
trunk/LMDZ.VENUS/libf/phyvenus/ini_histday.h
r808 r888 13 13 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) 14 14 DO i = 1, iim 15 zx_lon(i,1) = rlond(i+ 1)16 zx_lon(i,jjmp1) = rlond(i+ 1)15 zx_lon(i,1) = rlond(i+jjmp1-jjm) 16 zx_lon(i,jjmp1) = rlond(i+jjmp1-jjm) 17 17 ENDDO 18 18 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlatd,zx_lat) -
trunk/LMDZ.VENUS/libf/phyvenus/ini_histins.h
r97 r888 13 13 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) 14 14 DO i = 1, iim 15 zx_lon(i,1) = rlond(i+ 1)16 zx_lon(i,jjmp1) = rlond(i+ 1)15 zx_lon(i,1) = rlond(i+jjmp1-jjm) 16 zx_lon(i,jjmp1) = rlond(i+jjmp1-jjm) 17 17 ENDDO 18 18 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlatd,zx_lat) … … 29 29 30 30 c------------------------------------------------------- 31 32 c------------------------------------------------------- 33 31 IF(lev_histday.GE.1) THEN 32 c 33 ccccccccccccc 2D fields, basics 34 c 35 CALL histdef(nid_ins, "phis", "Surface geop. height", "-", 36 . iim,jjmp1,nhori, 1,1,1, -99, 32, 37 . "once", zsto,zout) 38 c 39 CALL histdef(nid_ins, "aire", "Grid area", "-", 40 . iim,jjmp1,nhori, 1,1,1, -99, 32, 41 . "once", zsto,zout) 42 c 43 CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", 44 . iim,jjmp1,nhori, 1,1,1, -99, 32, 45 . "ins(X)", zsto,zout) 46 c 47 CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", 48 . iim,jjmp1,nhori, 1,1,1, -99, 32, 49 . "ins(X)", zsto,zout) 50 c 51 c CALL histdef(nid_ins, "ue", "Zonal energy transport", "-", 52 c . iim,jjmp1,nhori, 1,1,1, -99, 32, 53 c . "ins(X)", zsto,zout) 54 c 55 c CALL histdef(nid_ins, "ve", "Merid energy transport", "-", 56 c . iim,jjmp1,nhori, 1,1,1, -99, 32, 57 c . "ins(X)", zsto,zout) 58 c 59 CALL histdef(nid_ins, "cdragh", "Drag coef on T", "-", 60 . iim,jjmp1,nhori, 1,1,1, -99, 32, 61 . "ins(X)", zsto,zout) 62 c 63 CALL histdef(nid_ins, "cdragm", "Drag coef on U", "-", 64 . iim,jjmp1,nhori, 1,1,1, -99, 32, 65 . "ins(X)", zsto,zout) 66 c 67 ENDIF !lev_histday.GE.1 68 c 69 c------------------------------------------------------- 70 IF(lev_histday.GE.2) THEN 71 c 72 ccccccccccccc 3D fields, basics 73 c 74 CALL histdef(nid_ins, "temp", "Air temperature", "K", 75 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 76 . "ins(X)", zsto,zout) 77 c 78 CALL histdef(nid_ins, "pres", "Air pressure", "Pa", 79 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 80 . "ins(X)", zsto,zout) 81 c 82 CALL histdef(nid_ins, "geop", "Geopotential height", "m", 83 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 84 . "ins(X)", zsto,zout) 85 c 86 CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", 87 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 88 . "ins(X)", zsto,zout) 89 c 90 CALL histdef(nid_ins, "vitv", "Meridional wind", "m/s", 91 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 92 . "ins(X)", zsto,zout) 93 c 94 CALL histdef(nid_ins, "vitw", "Vertical wind", "Pa/s", 95 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 96 . "ins(X)", zsto,zout) 97 c 98 CALL histdef(nid_ins, "dudyn", "Dynamics dU", "m/s2", 99 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 100 . "ins(X)", zsto,zout) 101 c 102 CALL histdef(nid_ins, "duvdf", "Boundary-layer dU", "m/s2", 103 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 104 . "ins(X)", zsto,zout) 105 c 106 c CALL histdef(nid_ins, "mang", "Angular momentum", "kg m2/s", 107 c . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 108 c . "ins(X)", zsto,zout) 109 c 110 CALL histdef(nid_ins, "Kz", "vertical diffusion coef", "m2/s", 111 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 112 . "ins(X)", zsto,zout) 113 c 114 c plusieurs traceurs 115 if (iflag_trac.eq.1) THEN 116 DO iq=1,nqmax 117 IF (iq.LE.99) THEN 118 WRITE(str2,'(i2.2)') iq 119 CALL histdef(nid_ins, tname(iq), ttext(iq), "ppm", 120 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 121 . "ins(X)", zsto,zout) 122 ELSE 123 PRINT*, "Trop de traceurs" 124 CALL abort 125 ENDIF 126 ENDDO 127 endif 128 c 129 CALL histdef(nid_ins, "tops", "Solar rad. at TOA", "W/m2", 130 . iim,jjmp1,nhori, 1,1,1, -99, 32, 131 . "ins(X)", zsto,zout) 132 c 133 ENDIF !lev_histday.GE.2 134 c 135 c------------------------------------------------------- 136 IF(lev_histday.GE.3) THEN 137 c 138 cccccccccccccccccc Radiative transfer 139 c 140 c 2D 141 c 142 CALL histdef(nid_ins, "topl", "IR rad. at TOA", "W/m2", 143 . iim,jjmp1,nhori, 1,1,1, -99, 32, 144 . "ins(X)", zsto,zout) 145 c 146 CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", 147 . iim,jjmp1,nhori, 1,1,1, -99, 32, 148 . "ins(X)", zsto,zout) 149 c 150 CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2", 151 . iim,jjmp1,nhori, 1,1,1, -99, 32, 152 . "ins(X)", zsto,zout) 153 c 154 c 3D 155 c 156 CALL histdef(nid_ins, "SWnet", "Net SW flux","W/m2", 157 . iim,jjmp1,nhori, klev,1,klev,nvert, 158 . 32, "ins(X)", zsto,zout) 159 c 160 CALL histdef(nid_ins, "LWnet", "Net LW flux","W/m2", 161 . iim,jjmp1,nhori, klev,1,klev,nvert, 162 . 32, "ins(X)", zsto,zout) 163 c 164 CALL histdef(nid_ins, "fluxvdf", "PBL net flux","W/m2", 165 . iim,jjmp1,nhori, klev,1,klev,nvert, 166 . 32, "ins(X)", zsto,zout) 167 c 168 CALL histdef(nid_ins, "fluxdyn", "Dyn. net flux","W/m2", 169 . iim,jjmp1,nhori, klev,1,klev,nvert, 170 . 32, "ins(X)", zsto,zout) 171 c 172 CALL histdef(nid_ins, "fluxajs", "Dry adj. net flux","W/m2", 173 . iim,jjmp1,nhori, klev,1,klev,nvert, 174 . 32, "ins(X)", zsto,zout) 175 c 176 c CALL histdef(nid_ins, "fluxec", "Cin. net flux","W/m2", 177 c . iim,jjmp1,nhori, klev,1,klev,nvert, 178 c . 32, "ins(X)", zsto,zout) 179 c 180 ENDIF !lev_histday.GE.3 181 c 182 c------------------------------------------------------- 183 IF(lev_histday.GE.4) THEN 184 c 185 CALL histdef(nid_ins, "dtdyn", "Dynamics dT", "K/s", 186 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 187 . "ins(X)", zsto,zout) 188 c 189 c CALL histdef(nid_ins, "dtphy", "Physics dT", "K/s", 190 c . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 191 c . "ins(X)", zsto,zout) 192 c 193 CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", 194 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 195 . "ins(X)", zsto,zout) 196 c 197 CALL histdef(nid_ins, "dtajs", "Dry adjust. dT", "K/s", 198 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 199 . "ins(X)", zsto,zout) 200 c 201 CALL histdef(nid_ins, "dtswr", "SW radiation dT", "K/s", 202 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 203 . "ins(X)", zsto,zout) 204 c 205 CALL histdef(nid_ins, "dtlwr", "LW radiation dT", "K/s", 206 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 207 . "ins(X)", zsto,zout) 208 c 209 c CALL histdef(nid_ins, "dtec", "Cinetic dissip dT", "K/s", 210 c . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 211 c . "ins(X)", zsto,zout) 212 c 213 CALL histdef(nid_ins, "duajs", "Dry convection dU", "m/s2", 214 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 215 . "ins(X)", zsto,zout) 216 c 217 CALL histdef(nid_ins, "dugwo", "GW oro dU", "m/s2", 218 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 219 . "ins(X)", zsto,zout) 220 c 221 CALL histdef(nid_ins, "dugwno", "GW non-oro dU", "m/s2", 222 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 223 . "ins(X)", zsto,zout) 224 c 225 c CALL histdef(nid_ins, "dvvdf", "Boundary-layer dV", "m/s2", 226 c . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 227 c . "ins(X)", zsto,zout) 228 c 229 ENDIF !lev_histday.GE.4 230 c 231 c------------------------------------------------------- 232 IF(lev_histday.GE.5) THEN 233 c 234 c call histdef(nid_ins, "taux", 235 c $ "Zonal wind stress", "Pa", 236 c $ iim,jjmp1,nhori, 1,1,1, -99, 32, 237 c $ "ins(X)", zsto,zout) 238 c 239 c call histdef(nid_ins, "tauy", 240 c $ "Meridional xind stress", "Pa", 241 c $ iim,jjmp1,nhori, 1,1,1, -99, 32, 242 c $ "ins(X)", zsto,zout) 243 c 244 c CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", 245 c . iim,jjmp1,nhori, 1,1,1, -99, 32, 246 c . "ins(X)", zsto,zout) 247 c 248 c CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", 249 c . iim,jjmp1,nhori, 1,1,1, -99, 32, 250 c . "ins(X)", zsto,zout) 251 c 252 ENDIF !lev_histday.GE.5 253 c------------------------------------------------------- 254 c 34 255 CALL histend(nid_ins) 35 256 c -
trunk/LMDZ.VENUS/libf/phyvenus/ini_histmth.h
r101 r888 18 18 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) 19 19 DO i = 1, iim 20 zx_lon(i,1) = rlond(i+ 1)21 zx_lon(i,jjmp1) = rlond(i+ 1)20 zx_lon(i,1) = rlond(i+jjmp1-jjm) 21 zx_lon(i,jjmp1) = rlond(i+jjmp1-jjm) 22 22 ENDDO 23 23 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlatd,zx_lat) -
trunk/LMDZ.VENUS/libf/phyvenus/write_histins.h
r97 r888 17 17 c 18 18 c------------------------------------------------------- 19 19 IF(lev_histday.GE.1) THEN 20 c 21 ccccccccccccc 2D fields, basics 22 c 23 i = NINT(zout/zsto) 24 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 25 CALL histwrite(nid_ins,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 26 C 27 i = NINT(zout/zsto) 28 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 29 CALL histwrite(nid_ins,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 30 c 31 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d) 32 CALL histwrite(nid_ins,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 33 c 34 DO i = 1, klon 35 zx_tmp_fi2d(i) = paprs(i,1) 36 ENDDO 37 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 38 CALL histwrite(nid_ins,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 39 c 40 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) 41 c CALL histwrite(nid_ins,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 42 c 43 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) 44 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 45 c zx_tmp_2d=-1.*zx_tmp_2d 46 c CALL histwrite(nid_ins,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 47 c 48 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 49 CALL histwrite(nid_ins,"cdragh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 50 c 51 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 52 CALL histwrite(nid_ins,"cdragm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 53 c 54 ENDIF !lev_histday.GE.1 55 c 56 c------------------------------------------------------- 57 IF(lev_histday.GE.2) THEN 58 c 59 ccccccccccccc 3D fields, basics 60 c 61 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 62 CALL histwrite(nid_ins,"temp",itau_w,zx_tmp_3d, 63 . iim*jjmp1*klev,ndex3d) 64 c 65 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 66 CALL histwrite(nid_ins,"pres",itau_w,zx_tmp_3d, 67 . iim*jjmp1*klev,ndex3d) 68 c 69 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 70 CALL histwrite(nid_ins,"geop",itau_w,zx_tmp_3d, 71 . iim*jjmp1*klev,ndex3d) 72 c 73 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 74 CALL histwrite(nid_ins,"vitu",itau_w,zx_tmp_3d, 75 . iim*jjmp1*klev,ndex3d) 76 c 77 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 78 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 79 zx_tmp_3d=-1.*zx_tmp_3d 80 CALL histwrite(nid_ins,"vitv",itau_w,zx_tmp_3d, 81 . iim*jjmp1*klev,ndex3d) 82 c 83 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 84 CALL histwrite(nid_ins,"vitw",itau_w,zx_tmp_3d, 85 . iim*jjmp1*klev,ndex3d) 86 c 87 c en (m/s)/s 88 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_dyn, zx_tmp_3d) 89 CALL histwrite(nid_ins,"dudyn",itau_w,zx_tmp_3d, 90 . iim*jjmp1*klev,ndex3d) 91 c 92 c en (m/s)/s 93 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) 94 CALL histwrite(nid_ins,"duvdf",itau_w,zx_tmp_3d, 95 . iim*jjmp1*klev,ndex3d) 96 c 97 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, mang, zx_tmp_3d) 98 c CALL histwrite(nid_ins,"mang",itau_w,zx_tmp_3d, 99 c . iim*jjmp1*klev,ndex3d) 100 c 101 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ycoefh, zx_tmp_3d) 102 CALL histwrite(nid_ins,"Kz",itau_w,zx_tmp_3d, 103 . iim*jjmp1*klev,ndex3d) 104 c 105 c plusieurs traceurs 106 IF (iflag_trac.eq.1) THEN 107 DO iq=1,nqmax 108 IF (iq.LE.99) THEN 109 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq), zx_tmp_3d) 110 WRITE(str2,'(i2.2)') iq 111 CALL histwrite(nid_ins,tname(iq),itau_w,zx_tmp_3d, 112 . iim*jjmp1*klev,ndex3d) 113 ELSE 114 PRINT*, "Trop de traceurs" 115 CALL abort 116 ENDIF 117 ENDDO 118 ENDIF 119 c 120 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 121 CALL histwrite(nid_ins,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 122 c 123 ENDIF !lev_histday.GE.2 124 c 125 c------------------------------------------------------- 126 IF(lev_histday.GE.3) THEN 127 c 128 cccccccccccccccccc Radiative transfer 129 c 130 c 2D 131 c 132 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 133 CALL histwrite(nid_ins,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 134 c 135 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 136 CALL histwrite(nid_ins,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 137 c 138 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 139 CALL histwrite(nid_ins,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 140 c 141 c 3D 142 c 143 zx_tmp_fi3d(1:klon,1:klev)=swnet(1:klon,1:klev) 144 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 145 CALL histwrite(nid_ins,"SWnet",itau_w,zx_tmp_3d, 146 . iim*jjmp1*klev,ndex3d) 147 c 148 zx_tmp_fi3d(1:klon,1:klev)=lwnet(1:klon,1:klev) 149 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 150 CALL histwrite(nid_ins,"LWnet",itau_w,zx_tmp_3d, 151 . iim*jjmp1*klev,ndex3d) 152 c 153 zx_tmp_fi3d(1:klon,1:klev)=fluxt(1:klon,1:klev) 154 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 155 CALL histwrite(nid_ins,"fluxvdf",itau_w,zx_tmp_3d, 156 . iim*jjmp1*klev,ndex3d) 157 c 158 zx_tmp_fi3d(1:klon,1:klev)=flux_dyn(1:klon,1:klev) 159 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 160 CALL histwrite(nid_ins,"fluxdyn",itau_w,zx_tmp_3d, 161 . iim*jjmp1*klev,ndex3d) 162 c 163 zx_tmp_fi3d(1:klon,1:klev)=flux_ajs(1:klon,1:klev) 164 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 165 CALL histwrite(nid_ins,"fluxajs",itau_w,zx_tmp_3d, 166 . iim*jjmp1*klev,ndex3d) 167 c 168 c zx_tmp_fi3d(1:klon,1:klev)=flux_ec(1:klon,1:klev) 169 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 170 c CALL histwrite(nid_ins,"fluxec",itau_w,zx_tmp_3d, 171 c . iim*jjmp1*klev,ndex3d) 172 c 173 ENDIF !lev_histday.GE.3 174 c 175 c------------------------------------------------------- 176 IF(lev_histday.GE.4) THEN 177 c 178 c en K/s 179 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) 180 CALL histwrite(nid_ins,"dtdyn",itau_w,zx_tmp_3d, 181 . iim*jjmp1*klev,ndex3d) 182 c 183 c en K/s 184 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) 185 c CALL histwrite(nid_ins,"dtphy",itau_w,zx_tmp_3d, 186 c . iim*jjmp1*klev,ndex3d) 187 c 188 c en K/s 189 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_t_vdf,zx_tmp_3d) 190 CALL histwrite(nid_ins,"dtvdf",itau_w,zx_tmp_3d, 191 . iim*jjmp1*klev,ndex3d) 192 c 193 c en K/s 194 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_t_ajs,zx_tmp_3d) 195 CALL histwrite(nid_ins,"dtajs",itau_w,zx_tmp_3d, 196 . iim*jjmp1*klev,ndex3d) 197 c 198 c K/day ==> K/s 199 zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY 200 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 201 CALL histwrite(nid_ins,"dtswr",itau_w,zx_tmp_3d, 202 . iim*jjmp1*klev,ndex3d) 203 c 204 c K/day ==> K/s 205 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY 206 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 207 CALL histwrite(nid_ins,"dtlwr",itau_w,zx_tmp_3d, 208 . iim*jjmp1*klev,ndex3d) 209 c en K/s 210 c zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev) 211 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 212 c CALL histwrite(nid_ins,"dtec",itau_w,zx_tmp_3d, 213 c . iim*jjmp1*klev,ndex3d) 214 c 215 c en (m/s)/s 216 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_ajs, zx_tmp_3d) 217 CALL histwrite(nid_ins,"duajs",itau_w,zx_tmp_3d, 218 . iim*jjmp1*klev,ndex3d) 219 c 220 c en (m/s)/s 221 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d) 222 CALL histwrite(nid_ins,"dugwo",itau_w,zx_tmp_3d, 223 . iim*jjmp1*klev,ndex3d) 224 c 225 c en (m/s)/s 226 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_hin, zx_tmp_3d) 227 CALL histwrite(nid_ins,"dugwno",itau_w,zx_tmp_3d, 228 . iim*jjmp1*klev,ndex3d) 229 c 230 c en (m/s)/s 231 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) 232 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 233 c zx_tmp_3d=-1.*zx_tmp_3d 234 c CALL histwrite(nid_ins,"dvvdf",itau_w,zx_tmp_3d, 235 c . iim*jjmp1*klev,ndex3d) 236 c 237 ENDIF !lev_histday.GE.4 238 c 239 c------------------------------------------------------- 240 IF(lev_histday.GE.5) THEN 241 c 242 c 243 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxu , zx_tmp_2d) 244 c CALL histwrite(nid_ins,"taux_",itau_w, 245 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 246 c 247 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d) 248 c CALL histwrite(nid_ins,"tauy_",itau_w, 249 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 250 c 251 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 252 c CALL histwrite(nid_ins,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 253 c 254 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 255 c CALL histwrite(nid_ins,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 256 c 257 ENDIF !lev_histday.GE.5 20 258 c------------------------------------------------------- 21 259 c -
trunk/LMDZ.VENUS/libf/phyvenus/writeg1d.F
r3 r888 24 24 c 25 25 INTEGER ngrid,nx,i 26 cREAL*4 xr4(1000)27 REAL xr4(1000)26 REAL*4 xr4(1000) 27 c REAL xr4(1000) 28 28 REAL x(nx) 29 29 CHARACTER*(*) nom,titre -
trunk/UTIL/NCL/planeto.ncl
r808 r888 137 137 ; A REVOIR !!! 138 138 ; !! stupid bug, due to precision when time axis in double in file... 139 ;if ((ntcutmin.eq.0).and.(ntcutmax.eq.0)) then140 ; mindimval(index)=mindimval(index)*1.000001141 ; maxdimval(index)=maxdimval(index)*1.000001142 ;end if139 if ((ntcutmin.eq.0).and.(ntcutmax.eq.0)) then 140 mindimval(index)=mindimval(index)*0 141 maxdimval(index)=maxdimval(index)*1.1 142 end if 143 143 ; !! stupid bug, due to precision when time axis in double in file... 144 144 else
Note: See TracChangeset
for help on using the changeset viewer.