module defgpi implicit none real(8),parameter::g=9.80665D0 real(8),parameter::pi=3.14159265358979323846D0 end module defgpi !----------------------------------------------------------- program f90_STEEP ! Water Surface Profile !----------------------------------------------------------- use defgpi implicit none real(8),parameter::n=0.013 real(8),parameter::Q=730.0D0 real(8),parameter::B=16.0D0 real(8)::x real(8)::y real(8)::h real(8)::theta0,theta1,theta2 real(8)::dx real(8)::hc real(8)::h0 real(8)::ddx,k1,k2,k3,k4 write(6,'(6(A10))') 'x','y','theta','h','h0','hc' x=0.0D0 y=FLOOR_Y(x) theta0=0.0D0 hc=(Q*Q/g/B/B/cos(theta0))**(1.0D0/3.0D0) h0=-1.0D0 write(6,'(6(f10.3))') x,y,theta0/pi*180.0D0,hc,h0,hc x=0.0D0 dx=0.001D0 ddx=0.01D0*dx do x=x+dx theta0=atan((FLOOR_Y(x-ddx)-FLOOR_Y(x))/ddx) hc=(Q*Q/g/B/B/cos(theta0))**(1.0D0/3.0D0) h0=CALH0(n,Q,B,theta0,hc) if(0.0D0