C+ C NAME: C SW_Model_DevFromR2 C CALLING SEQUENCE: function SW_Model_DevFromR2(D,V) C INPUTS: C D real normalized density C V real velocity C OUTPUTS: C SW_Model_DevFromR2 C real forces a density drop-off as 1/r^(2+SW_Model_DevFromR2) C SEE ALSO: C SW_Model_DevFromR2_Define C PROCEDURE: C Using the constants set by SW_Model_DevFromR2_Define an incremental C power dP is determined. C For V <= Vmin, dP = dPVmin C For V >= Vmax, dP = dPVmax C For Vmin < V < Vmax, a linear interpolation between dPVmin and dPVmax is done. C C The same is done for the density. The contributions for velocity and density C are added together. C MODIFICATION HISTORY: C APR-2002, Paul Hick (UCSD/CASS; pphick@ucsd.edu) C- real D real V real dPVmin /0.0/ real dPVmax /0.0/ real dPDmin /0.0/ real dPDmax /0.0/ save dPVmin,Vmin,dPVmax,Vmax,dPDmin,Dmin,dPDmax,Dmax if (dPVmin .eq. 0.0 .and. dPVmax .eq. 0.0) then vtmp = 0.0 else if (V .le. Vmin) then vtmp = dPVmin else if (V .ge. Vmax) then vtmp = dPVmax else vtmp = (Vmin-V)/(Vmin-Vmax) vtmp = dPVmin*(1.0-vtmp)+dPVmax*vtmp end if if (dPDmin .eq. 0.0 .and. dPDmax .eq. 0.0) then dtmp = 0.0 else if (D .le. Dmin) then dtmp = dPDmin else if (D .ge. Dmax) then dtmp = dPDmax else dtmp = (Dmin-D)/(Dmin-Dmax) dtmp = dPDmin*(1.0-dtmp)+dPDmax*dtmp endif SW_Model_DevFromR2 = vtmp+dtmp return C+ C NAME: C SW_Model_DevFromR2_Define C CALLING SEQUENCE: entry SW_Model_DevFromR2_Define(dPVmin_,Vmin_,dPVmax_,Vmax_,dPDmin_,Dmin_,dPDmax_,Dmax_) C SEE ALSO: C SW_Model_DevFromR2 C PROCEDURE: C Entry point in SW_Model_DevFromR2 C MODIFICATION HISTORY: C APR-2002, Paul Hick (UCSD/CASS; pphick@ucsd.edu) C- dPVmin = dPVmin_ Vmin = Vmin_ dPVmax = dPVmax_ Vmax = Vmax_ dPDmin = dPDmin_ Dmin = Dmin_ dPDmax = dPDmax_ Dmax = Dmax_ SW_Model_DevFromR2_Define = 0.0 return end