;+ ; NAME: ; RATES ; ; PURPOSE: ; This procedure calculates the rates pt(i,j,k) for transitions ; between levels 'i' and 'j' at the atmospheric depth point 'k'. ; pt(i,j,k) contains the total rate, pn(i,j,k)=net rate, ; positive=up, pn(j,i,k)=relative net rate. ; ; CATEGORY: ; Multi. ; ; CALLING SEQUENCE: ; ; RATES ; ; INPUTS: ; in common ; ; OUTPUTS: ; in common: ; pt(i,j,k): total rate between levels i and j at depth k ; pn(i,j,k): net rate, positive=up ; pn(j,i,k): relative net rate ; ; COMMON BLOCKS: ; common_multi ; ; MODIFICATION HISTORY: ; Written by: Mats Carlsson ;- pro rates,dum @common_multi print,'calculating rates, pt(i,j,k)=total rate from level i to j' print,'pn(i,j,k)=net rate, positive=up, pn(j,i,k)=relative net rate' print,'for i < j: print,'pn(i,j,k)=n(i,k)*{rij(k,kr) + c(i,j,k)} - n(j,k)*{rji(k,kr) + c(j,i,k)}' print,'pn(j,i,k)=pn(i,j,k)/(pt(i,j,k) > pt(j,i,k))' pt=fltarr(nk,nk,ndep) pn=fltarr(nk,nk,ndep) for i=0,nk-1 do begin for j=0,nk-1 do begin pt(i,j,0)=pt(i,j,*)+n(i,*)*c(i,j,*) endfor endfor for kr=0,nrad-1 do begin i=irad(kr)-1 j=jrad(kr)-1 pt(i,j,0)=pt(i,j,*)+n(i,*)*rij(*,kr) pt(j,i,0)=pt(j,i,*)+n(j,*)*rji(*,kr) endfor for j=1,nk-1 do begin for i=0,j-1 do begin pn(i,j,0)=pt(i,j,*)-pt(j,i,*) norm_pt=pt(i,j,*) > pt(j,i,*) pn(j,i,0)=pn(i,j,*)/norm_pt endfor endfor end