[85] | 1 | ; |
---|
| 2 | ; horizontal coordinates (meters) |
---|
| 3 | ; |
---|
| 4 | rad=3397000. |
---|
| 5 | deg_m=2*rad*!pi/360. |
---|
| 6 | dlon=deg_m*cos(lat*!pi/180) |
---|
| 7 | dlat=deg_m |
---|
| 8 | x=(lon-min(lon))*dlon |
---|
| 9 | y=(lat-min(lat))*dlat |
---|
| 10 | ;print, x/1000. |
---|
| 11 | ;print, y/1000. |
---|
| 12 | |
---|
| 13 | ;;---------------------------- |
---|
| 14 | ;; methode directe |
---|
| 15 | ;;---------------------------- |
---|
| 16 | ;; var is a 2D field |
---|
| 17 | ;; must be HGT_M |
---|
| 18 | grad, hx, var*1000., x, y, 1 |
---|
| 19 | grad, hy, var*1000., x, y, 2 |
---|
| 20 | ;hx=hx*100. ;pente en % |
---|
| 21 | |
---|
| 22 | ;;------------------------------- |
---|
| 23 | ;; methode "confiance en geogrid" |
---|
| 24 | ;;------------------------------- |
---|
| 25 | ;varid=ncdf_varid(cdfid,'MAPFAC_M') |
---|
| 26 | ; ncdf_varget, cdfid, varid, msf |
---|
| 27 | |
---|
| 28 | |
---|
| 29 | varid=ncdf_varid(cdfid,'SLPX') |
---|
| 30 | ncdf_varget, cdfid, varid, hxwrf |
---|
| 31 | varid=ncdf_varid(cdfid,'SLPY') |
---|
| 32 | ncdf_varget, cdfid, varid, hywrf |
---|
| 33 | |
---|
| 34 | ;print, 100.*mean(abs(hx-hxwrf*1000.)/hx) |
---|
| 35 | ;print, 100.*mean(abs(hy-hywrf*1000.)/hy) |
---|
| 36 | |
---|
| 37 | hx=hxwrf*1000. |
---|
| 38 | hy=hywrf*1000. |
---|
| 39 | |
---|
| 40 | |
---|
| 41 | |
---|
| 42 | ;; SLOPE ANGLE vs HORIZONTAL |
---|
| 43 | ;;--------------------------- |
---|
| 44 | theta=atan(sqrt(hx^2+hy^2)) |
---|
| 45 | theta=180.*theta/!pi |
---|
| 46 | var=round(theta) |
---|
| 47 | title='Slope angle (deg)' |
---|
| 48 | format='(I0)' |
---|
| 49 | pal=16 |
---|
| 50 | |
---|
| 51 | ;goto, squeeze |
---|
| 52 | ;; SLOPE ORIENTATION |
---|
| 53 | ;;-------------------- |
---|
| 54 | ;; cas où hx < 0 |
---|
| 55 | psi=-!pi/2 - atan(hy/hx) |
---|
| 56 | ;; cas où hx > 0 |
---|
| 57 | w=where(hx ge 0) |
---|
| 58 | psi[w]=psi[w]-!pi |
---|
| 59 | ;; SOUTH 0 & WEST 90 |
---|
| 60 | psi=2*!pi+psi |
---|
| 61 | psi=180.*psi/!pi |
---|
| 62 | ;; NORTH 0 & EAST 90 (as MONTECARLO & PARAM) |
---|
| 63 | psi=(180.+psi) MOD 360 |
---|
| 64 | |
---|
| 65 | var=round(psi) |
---|
| 66 | title='Slope orientation (deg)' |
---|
| 67 | format='(I0)' |
---|
| 68 | pal=6 |
---|
| 69 | ;; |
---|
| 70 | squeeze: |
---|
| 71 | |
---|
| 72 | |
---|
| 73 | ; |
---|
| 74 | ; latitude |
---|
| 75 | ; |
---|
| 76 | varid=ncdf_varid(cdfid,'XLAT_M') |
---|
| 77 | ncdf_varget, cdfid, varid, latyeah |
---|
| 78 | |
---|
| 79 | |
---|
| 80 | ; |
---|
| 81 | ; SCATTERED FLUX RATIO |
---|
| 82 | ; |
---|
| 83 | |
---|
| 84 | nx=n_elements(latyeah(*,0)) |
---|
| 85 | ny=n_elements(latyeah(0,*)) |
---|
| 86 | |
---|
| 87 | ratio_s=dblarr(nx,ny) |
---|
| 88 | ratio_d=dblarr(nx,ny) |
---|
| 89 | |
---|
| 90 | count=0 |
---|
| 91 | |
---|
| 92 | for i=0,nx-1 do begin |
---|
| 93 | for j=0,ny-1 do begin |
---|
| 94 | |
---|
| 95 | param_slope, $ |
---|
| 96 | ls=set_ls, $ ; < input * |
---|
| 97 | lct=set_lct, $ ; < input * |
---|
| 98 | lat=latyeah(i,j), $ ; < input * |
---|
| 99 | tau=set_tau, $ ; < input * |
---|
| 100 | spz=theta(i,j), $ ; < input * |
---|
| 101 | spa=psi(i,j), $ ; < input * |
---|
| 102 | r_s=tmps, $ ; > output |
---|
| 103 | r_d=tmpd ; > output |
---|
| 104 | |
---|
| 105 | ;count=count+1 |
---|
| 106 | ;print, count, tmps, tmpd |
---|
| 107 | |
---|
| 108 | ratio_s(i,j)=tmps |
---|
| 109 | ratio_d(i,j)=tmpd |
---|
| 110 | |
---|
| 111 | endfor |
---|
| 112 | endfor |
---|
| 113 | |
---|
| 114 | pal=0 |
---|
| 115 | format='(I0)' |
---|
| 116 | var=ratio_s*100. & title='Ratio S/S0 (%)' |
---|
| 117 | |
---|
| 118 | ;var=ratio_d*100. & title='Ratio Fdir/Fdir0 (%)' |
---|
| 119 | |
---|
| 120 | title='Ls='+string(set_ls,'(I0)')+' LT='+string(set_lct,'(I0)')+' tau='+string(set_tau,'(F3.1)') |
---|
| 121 | minfield_init=30. |
---|
| 122 | maxfield_init=170. |
---|
| 123 | |
---|
| 124 | var=round(var) |
---|