[85] | 1 | pro out_geo_test, $ |
---|
| 2 | field1=charvar, $ |
---|
| 3 | field2=charvar2, $ |
---|
| 4 | domain=domain, $ |
---|
| 5 | path=path |
---|
| 6 | |
---|
| 7 | ;---------------------------------------------------------------; |
---|
| 8 | ; ; |
---|
| 9 | ; Use: ; |
---|
| 10 | ; out_geo, 'HGT_M' (or) out_geo, 'TOPO' ; |
---|
| 11 | ; out_geo, 'THERMAL_INERTIA' (or) out_geo, 'TI' ; |
---|
| 12 | ; out_geo, 'ALBEDO_GCM' (or) out_geo, 'ALBEDO' ; |
---|
| 13 | ; out_geo, 'GHT' ; |
---|
| 14 | ; ; |
---|
| 15 | ; -- nested domain ; |
---|
| 16 | ; out_geo, 'HGT_M', domain='d02' ; |
---|
| 17 | ; ; |
---|
| 18 | ; Options: ; |
---|
| 19 | ; - domain: default is 'd01', ; |
---|
| 20 | ; but can be 'd02', 'd03', etc ... ; |
---|
| 21 | ; - path: where the geo_em files are ; |
---|
| 22 | ; '/my_root/my_folder/' ; |
---|
| 23 | ; ; |
---|
| 24 | ; A. Spiga, April 2007 - July 2007 - September 2007 ; |
---|
| 25 | ; ; |
---|
| 26 | ;---------------------------------------------------------------; |
---|
| 27 | |
---|
| 28 | |
---|
| 29 | |
---|
| 30 | |
---|
| 31 | ;---------------------- |
---|
| 32 | ; set parameters |
---|
| 33 | ;---------------------- |
---|
| 34 | |
---|
| 35 | colors=32 |
---|
| 36 | format='(F6.2)' |
---|
| 37 | minfield_init=0. |
---|
| 38 | maxfield_init=0. |
---|
| 39 | |
---|
| 40 | default_path='/donnees/aslmd/big_data/WRF/WPS' |
---|
| 41 | default_path='./' |
---|
| 42 | |
---|
| 43 | |
---|
| 44 | if (n_elements(charvar) eq 0) then charvar='HGT_M' |
---|
| 45 | if (n_elements(path) eq 0) then path=default_path |
---|
| 46 | if (n_elements(domain) eq 0) then domain='d01' |
---|
| 47 | file=path+'/geo_em.'+domain+'.nc' |
---|
| 48 | |
---|
| 49 | |
---|
| 50 | |
---|
| 51 | ;---------------------- |
---|
| 52 | ; equivalent inputs |
---|
| 53 | ;---------------------- |
---|
| 54 | case charvar of |
---|
| 55 | 'HGT_M': |
---|
| 56 | 'TOPO': charvar='HGT_M' |
---|
| 57 | 'THERMAL_INERTIA': |
---|
| 58 | 'TI': charvar='THERMAL_INERTIA' |
---|
| 59 | 'ALBEDO_GCM': |
---|
| 60 | 'ALBEDO': charvar='ALBEDO_GCM' |
---|
| 61 | 'GHT': |
---|
| 62 | else: |
---|
| 63 | endcase |
---|
| 64 | if (n_elements(charvar2) ne 0) then begin |
---|
| 65 | case charvar2 of |
---|
| 66 | 'HGT_M': |
---|
| 67 | 'TOPO': charvar2='HGT_M' |
---|
| 68 | 'THERMAL_INERTIA': |
---|
| 69 | 'TI': charvar2='THERMAL_INERTIA' |
---|
| 70 | 'ALBEDO_GCM': |
---|
| 71 | 'ALBEDO': charvar2='ALBEDO_GCM' |
---|
| 72 | 'GHT': |
---|
| 73 | else: |
---|
| 74 | endcase |
---|
| 75 | endif |
---|
| 76 | |
---|
| 77 | |
---|
| 78 | ;---------------------- |
---|
| 79 | ; set graphics |
---|
| 80 | ;---------------------- |
---|
| 81 | |
---|
| 82 | set_plot, 'ps' |
---|
| 83 | device, file='geo_em.'+domain+'_'+charvar+'.ps', /color |
---|
| 84 | ;set_plot, 'x' |
---|
| 85 | |
---|
| 86 | case charvar of |
---|
| 87 | 'HGT_M': pal=33 ;16 ;4 |
---|
| 88 | 'THERMAL_INERTIA': pal=3 |
---|
| 89 | 'ALBEDO_GCM': pal=0 |
---|
| 90 | 'GHT': pal=33 |
---|
| 91 | else: pal=33 |
---|
| 92 | endcase |
---|
| 93 | |
---|
| 94 | |
---|
| 95 | |
---|
| 96 | !p.charthick = 2.0 |
---|
| 97 | !p.thick = 3.0 |
---|
| 98 | !x.thick = 2.0 |
---|
| 99 | !y.thick = 2.0 |
---|
| 100 | |
---|
| 101 | case charvar of |
---|
| 102 | 'HGT_M': title='Altimetry (km)' |
---|
| 103 | 'THERMAL_INERTIA': title='Thermal inertia (!NJ!N.m!U-2!N.s!U-1/2!N.K!U-1!N)' |
---|
| 104 | 'ALBEDO_GCM': title='Albedo LW (%)' |
---|
| 105 | 'GHT': title='Geopotential height (m)' |
---|
| 106 | else: title='' |
---|
| 107 | endcase |
---|
| 108 | |
---|
| 109 | |
---|
| 110 | ;------------------------------- |
---|
| 111 | ; open file and read variables |
---|
| 112 | ;------------------------------- |
---|
| 113 | cdfid = ncdf_open(file) |
---|
| 114 | |
---|
| 115 | ; field |
---|
| 116 | print, charvar |
---|
| 117 | varid=ncdf_varid(cdfid,charvar) |
---|
| 118 | ncdf_varget, cdfid, varid, var |
---|
| 119 | ; lon |
---|
| 120 | varid=ncdf_varid(cdfid,'XLONG_M') |
---|
| 121 | ncdf_varget, cdfid, varid, lon |
---|
| 122 | lon=reform(lon[*,0]) |
---|
| 123 | ; lat |
---|
| 124 | varid=ncdf_varid(cdfid,'XLAT_M') |
---|
| 125 | ncdf_varget, cdfid, varid, lat |
---|
| 126 | lat=reform(lat[0,*]) |
---|
| 127 | |
---|
| 128 | if (n_elements(charvar2) ne 0) then begin |
---|
| 129 | print, charvar2 |
---|
| 130 | varid=ncdf_varid(cdfid,charvar2) |
---|
| 131 | ncdf_varget, cdfid, varid, overcontour |
---|
| 132 | endif else begin |
---|
| 133 | overcontour=0. |
---|
| 134 | endelse |
---|
| 135 | |
---|
| 136 | |
---|
| 137 | ;------------------------------- |
---|
| 138 | ; calculation on variables |
---|
| 139 | ;------------------------------- |
---|
| 140 | case charvar of |
---|
| 141 | 'HGT_M': var=var/1000. |
---|
| 142 | 'THERMAL_INERTIA': |
---|
| 143 | 'ALBEDO_GCM': var=var*100. |
---|
| 144 | 'GHT': |
---|
| 145 | else: |
---|
| 146 | endcase |
---|
| 147 | |
---|
| 148 | !p.multi=[0,3,3] |
---|
| 149 | set_ls_tab=[90,270] |
---|
| 150 | set_lct_tab=[09,12,16] |
---|
| 151 | set_tau_tab=[0.3,1.5] |
---|
| 152 | |
---|
| 153 | for yeahyeahyeah=0,1 do begin |
---|
| 154 | for yeah=0,1 do begin |
---|
| 155 | for yeahyeah=0,2 do begin |
---|
| 156 | set_ls=set_ls_tab(yeah) & print, set_ls |
---|
| 157 | set_lct=set_lct_tab(yeahyeah) & print, set_lct |
---|
| 158 | set_tau=set_tau_tab(yeahyeahyeah) & print, set_tau |
---|
| 159 | if ((set_ls eq 90) and (set_tau eq 1.5)) then begin |
---|
| 160 | goto, beurk |
---|
| 161 | endif |
---|
| 162 | @slope.inc |
---|
| 163 | |
---|
| 164 | ;--------- |
---|
| 165 | ; plot ! |
---|
| 166 | ;--------- |
---|
| 167 | |
---|
| 168 | minfield=min(var) |
---|
| 169 | maxfield=max(var) |
---|
| 170 | print, 'mM', minfield, maxfield |
---|
| 171 | |
---|
| 172 | yysize=150 |
---|
| 173 | what_I_plot=var |
---|
| 174 | lon_=lon |
---|
| 175 | lat_=lat |
---|
| 176 | ;what_I_plot=congrid(reform(var),yysize,yysize,/INTERP) |
---|
| 177 | ;lon_=congrid(lon,yysize) |
---|
| 178 | ;lat_=congrid(lat,yysize) |
---|
| 179 | |
---|
| 180 | map_latlon, $ |
---|
| 181 | what_I_plot, $ ; 2D field |
---|
| 182 | lon_, $ ; 1D latitude |
---|
| 183 | lat_, $ ; 1D longitude |
---|
| 184 | minfield=minfield_init, $ ; minimum value of plotted field (=0: calculate) |
---|
| 185 | maxfield=maxfield_init, $ ; maximum value of plotted field (=0: calculate) |
---|
| 186 | overcontour=overcontour, $ ; another 2D field to overplot with contour lines (=0: no) |
---|
| 187 | ; overvector_x=overvector_x, $ ; wind vector - x component (=0: no) |
---|
| 188 | ; overvector_y=overvector_y, $ ; wind vector - y component (=0: no) |
---|
| 189 | ct=pal, $ ; color table (33-rainbow is default) |
---|
| 190 | colors=colors, $ ; number of colors/levels (32 is default) |
---|
| 191 | title=title, $ ; title of the plot ('' is default) |
---|
| 192 | format=format ; format of colorbar annotations ('(F6.2)' is default) |
---|
| 193 | |
---|
| 194 | ;;;;;;;;;;;;;;;;; |
---|
| 195 | beurk: |
---|
| 196 | endfor |
---|
| 197 | endfor |
---|
| 198 | endfor |
---|
| 199 | ;;;;;;;;;;;;;;;;; |
---|
| 200 | |
---|
| 201 | |
---|
| 202 | device, /close |
---|
| 203 | |
---|
| 204 | end |
---|