Changeset 95
- Timestamp:
- Mar 16, 2011, 5:46:35 PM (14 years ago)
- Location:
- trunk/mesoscale
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mesoscale/LMD_MM_MARS/SRC/POSTPROC/api.F90
r87 r95 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. … … 377 377 dvalj(j) = num_metgrid_levels 378 378 ELSE IF ( LINLOG .eq. 3 ) THEN 379 dnamej(j) = ' altitude'379 dnamej(j) = 'bottom_top' !'altitude' 380 380 dvalj(j) = num_metgrid_levels 381 381 ELSE 382 dnamej(j) = ' altitude_abg'382 dnamej(j) = 'bottom_top' !'altitude_abg' 383 383 dvalj(j) = num_metgrid_levels 384 384 ENDIF … … 752 752 IF ( test_dim_name == 'bottom_top_stag' ) fix_meta_stag = .TRUE. 753 753 IF (LINLOG .le. 2) test_dim_name = 'pressure' 754 IF (LINLOG .eq. 3) test_dim_name = ' altitude'755 IF (LINLOG .eq. 4) test_dim_name = ' altitude_abg'754 IF (LINLOG .eq. 3) test_dim_name = 'bottom_top' !'altitude' 755 IF (LINLOG .eq. 4) test_dim_name = 'bottom_top' !'altitude_abg' 756 756 interpolate = .TRUE. 757 757 ENDIF … … 929 929 IF ( ii == 2 ) test_dim_name = 'south_north' 930 930 IF (( ii == 3 ) .and. (LINLOG .le. 2)) test_dim_name = 'pressure' 931 IF (( ii == 3 ) .and. (LINLOG .eq. 3)) test_dim_name = ' altitude'932 IF (( ii == 3 ) .and. (LINLOG .eq. 4)) test_dim_name = ' altitude_abg'931 IF (( ii == 3 ) .and. (LINLOG .eq. 3)) test_dim_name = 'bottom_top' !'altitude' 932 IF (( ii == 3 ) .and. (LINLOG .eq. 4)) test_dim_name = 'bottom_top' !'altitude_abg' 933 933 IF ( ii == 4 ) test_dim_name = 'Time' 934 934 DO jj = 1,j -
trunk/mesoscale/PLOT/SPEC/MAP/map_uvt.pro
r91 r95 9 9 SPAWN, '\rm param_plot.idl ; cp map_uvt_inc.pro param_plot.idl ; cp -f map_uvt_inc.pro '+save_ps+'.map_uvt_inc.pro' 10 10 if (n_elements(coord2d) eq 0) then coord2d='false' 11 if (n_elements(overvector_x) eq 0) then overvector_x = 1 ;; initialisation (!! map_uvt_inc.pro utilise dans map_uvt et map_latlon) 11 12 ; 12 13 ; … … 14 15 if (n_elements(field1) ne 0) then getcdf, file=filename, charvar=field1, invar=cfield1 15 16 if (n_elements(field2) ne 0) then getcdf, file=filename, charvar=field2, invar=cfield2 16 if ( (n_elements(overvector_x) ne 0) or (n_elements(field1) eq 0) ) then begin 17 u = getget(filename, 'Um', count=[0,0,1,1], offset=[0,0,nlevel,0]) 18 v = getget(filename, 'Vm', count=[0,0,1,1], offset=[0,0,nlevel,0]) 17 if ( ( overvector_x ne 0 ) or ( n_elements(field1) eq 0 ) ) then begin 18 u = getget(filename, 'Um', count=[0,0,1,0], offset=[0,0,nlevel,0]) 19 v = getget(filename, 'Vm', count=[0,0,1,0], offset=[0,0,nlevel,0]) 20 help, u 19 21 endif 20 22 getcdf, file=filename, charvar='XLONG', invar=longi … … 33 35 if (no3d ne 'true') then cfield2 = cfield2 (sp:nx-sp-1,sp:ny-sp-1,*,*) else cfield2 = cfield2 (sp:nx-sp-1,sp:ny-sp-1,*) 34 36 endif 35 if ( ( n_elements(overvector_x) ne 0) or (n_elements(field1) eq 0) ) then begin36 u = u (sp:nx-sp-1,sp:ny-sp-1,*)37 v = v (sp:nx-sp-1,sp:ny-sp-1,*)37 if ( ( overvector_x ne 0 ) or ( n_elements(field1) eq 0 ) ) then begin 38 u = reform (u (sp:nx-sp-1,sp:ny-sp-1,0,*) ) 39 v = reform (v (sp:nx-sp-1,sp:ny-sp-1,0,*) ) 38 40 endif 39 41 longi = longi (sp:nx-sp-1,sp:ny-sp-1,*) … … 43 45 ny = n_elements(longi(0,*,0)) 44 46 nt = n_elements(longi(0,0,*)) 45 if ( n_elements( overvector_x )ne 0 ) then begin47 if ( overvector_x ne 0 ) then begin 46 48 overvector_x = u 47 49 overvector_y = v … … 58 60 endelse 59 61 for ntime = ntstart,ntend do begin 62 help, u 60 63 ; 61 64 ; … … 80 83 endif else begin 81 84 if (no3d ne 'true') then what_I_plot = reform(cfield1(*,*,nlevel,ntime)) else what_I_plot = reform(cfield1(*,*,ntime)) 82 if (n_elements(u) ne 0) then overvector_x = reform( overvector_x(*,*,ntime)) ;; ne pas utiliser test overvector_x a cause de la boucle temps83 if (n_elements(v) ne 0) then overvector_y = reform( overvector_y(*,*,ntime)) ;; ne pas utiliser test overvector_y a cause de la boucle temps85 if (n_elements(u) ne 0) then overvector_x = reform(u(*,*,ntime)) ;; ne pas utiliser test overvector_x a cause de la boucle temps 86 if (n_elements(v) ne 0) then overvector_y = reform(v(*,*,ntime)) ;; ne pas utiliser test overvector_y a cause de la boucle temps 84 87 endelse 85 88 if (n_elements(field2) eq 0) then begin … … 106 109 minlat=min(lat) & maxlat=max(lat) & minlon=min(lon) & maxlon=max(lon) 107 110 if (coord2d eq 'true') then begin 108 npoints=n_elements(lon(*,0)) + n_elements(lon(0,*)) ;; trop de points, mais au moins on ne perd rien 109 TRIANGULATE, lon, lat, tr 110 what_I_plot = GRIDDATA( lon, lat, what_I_plot, /LINEAR, triangles=tr, dimension=npoints, MISSING=!VALUES.F_NAN ) 111 if (n_elements(overvector_x) ne 0) then begin 112 overvector_x = GRIDDATA( lon, lat, overvector_x, /LINEAR, triangles=tr, dimension=npoints, MISSING=!VALUES.F_NAN ) 113 overvector_y = GRIDDATA( lon, lat, overvector_y, /LINEAR, triangles=tr, dimension=npoints, MISSING=!VALUES.F_NAN ) 114 endif 115 overcontour = GRIDDATA( lon, lat, overcontour, /LINEAR, triangles=tr, dimension=npoints, MISSING=!VALUES.F_NAN ) 116 if (n_elements(overvector_x) ne 0) then begin 117 ; sale sale sale 118 if (minlat lt min(lat(*,0))) then overvector_y=-overvector_y 119 if (minlon lt min(lon(0,*))) then overvector_x=-overvector_x 120 endif 121 lon = minlon + (maxlon - minlon)*findgen(npoints)/float(npoints-1) 122 lat = minlat + (maxlat - minlat)*findgen(npoints)/float(npoints-1) 111 ;;;; CECI EST DESORMAIS FAIT DANS MAP_LATLON 112 ;;npoints=n_elements(lon(*,0)) + n_elements(lon(0,*)) ;; trop de points, mais au moins on ne perd rien 113 ;;TRIANGULATE, lon, lat, tr 114 ;;what_I_plot = GRIDDATA( lon, lat, what_I_plot, /LINEAR, triangles=tr, dimension=npoints, MISSING=!VALUES.F_NAN ) 115 ;;if ( overvector_x ne 0 ) then begin 116 ;; overvector_x = GRIDDATA( lon, lat, overvector_x, /LINEAR, triangles=tr, dimension=npoints, MISSING=!VALUES.F_NAN ) 117 ;; overvector_y = GRIDDATA( lon, lat, overvector_y, /LINEAR, triangles=tr, dimension=npoints, MISSING=!VALUES.F_NAN ) 118 ;;endif 119 ;;overcontour = GRIDDATA( lon, lat, overcontour, /LINEAR, triangles=tr, dimension=npoints, MISSING=!VALUES.F_NAN ) 120 ;; if ( overvector_x ne 0 ) then begin 121 ;; ; sale sale sale 122 ;; if (minlat lt min(lat(*,0))) then overvector_y=-overvector_y 123 ;; if (minlon lt min(lon(0,*))) then overvector_x=-overvector_x 124 ;; endif 125 ;;lon = minlon + (maxlon - minlon)*findgen(npoints)/float(npoints-1) 126 ;;lat = minlat + (maxlat - minlat)*findgen(npoints)/float(npoints-1) 123 127 endif else begin 124 128 lon = reform(lon(*,0)) 125 129 lat = reform(lat(0,*)) 126 ;npoints=n_elements(lon(*,0)) + n_elements(lon(0,*)) 127 ;what_I_plot = REBIN( what_I_plot, npoints, npoints ) 128 ;overvector_x = REBIN( overvector_x, npoints, npoints ) 129 ;overvector_y = REBIN( overvector_y, npoints, npoints ) 130 ;overcontour = REBIN( overcontour, npoints, npoints ) 131 ;lon = minlon + (maxlon - minlon)*findgen(npoints)/float(npoints-1) 132 ;lat = minlat + (maxlat - minlat)*findgen(npoints)/float(npoints-1) 130 ;;npoints=n_elements(lon(*,0)) + n_elements(lon(0,*)) 131 ;;what_I_plot = REBIN( what_I_plot, npoints, npoints ) 132 ;;overvector_x = REBIN( overvector_x, npoints, npoints ) 133 ;;overvector_y = REBIN( overvector_y, npoints, npoints ) 134 ;;overcontour = REBIN( overcontour, npoints, npoints ) 135 ;;lon = minlon + (maxlon - minlon)*findgen(npoints)/float(npoints-1) 136 ;;lat = minlat + (maxlat - minlat)*findgen(npoints)/float(npoints-1) 137 ;lon = findgen( n_elements(what_I_plot(*,0)) ) 138 ;lat = findgen( n_elements(what_I_plot(0,*)) ) 139 ;print, 'ATTENTION!!!! NOUS SOMMES BIEN D ACCORD QUE VOUS NE CHARGEZ PAS UMET et VMET ??' 133 140 endelse 141 ;;;;; trouve dans polar_uv.pro 142 ;;if (coord2d eq 'regular') then begin ;; carte avec mercator 143 ;; lon = reform(lon(*,0)) 144 ;; lat = reform(lat(0,*)) 145 ;;endif 134 146 endelse 135 147 help, what_I_plot, lon, lat … … 138 150 print, min(overcontour) 139 151 print, max(overcontour) 152 print, min(overvector_x) 153 print, min(overvector_y) 140 154 ; 141 155 ;
Note: See TracChangeset
for help on using the changeset viewer.