The period October to December is referred to as Northeast Monsoon season over peninsular India. Earlier this period was also referred to as "Post-Monsoon Season" or "Retreating southwest Monsoon Season".
Northeast Monsoon season is the major period of rainfall activity over south peninsula, particularly in the eastern half comprising of the meteorological subdivisions of Coastal Andhra Pradesh, Rayalaseema and Tamilnadu-Pondicherry. For Tamilnadu this is the main rainy season accounting for about 48% of the annual rainfall. Coastal districts of the State get nearly 60% of the annual rainfall and the interior districts get about 40-50% of the annual rainfall.
Though the principal rainy season for Interior Karnataka, Kerala and Lakshadweep is the Southwest Monsoon season, rainfall continues till December in these sub-divisions, the period October-December (Northeast Monsoon ) contributing about 20 % of the annual total.
The increase in rainfall activity over Andhra-Tamilnadu coasts which takes place sometime around middle of October is generally considered as the "setting in of Northeast Monsoon". Normal date of onset of the northeast monsoon is around 20 October with a deviation of about a week on either side.
The rainfall over south peninsula towards the end of southwest monsoon season is mainly in the interior districts and it generally occurs in the afternoon , evening or early part of the night. As the season advances the rainfall is mainly in the coastal districts with the interior districts getting less rain. It generally occurs during night and early morning hours . Maximum rainfall mostly occurs between 2100 and 0300 hrs IST. Along the east coast rainfall during late night and morning hours (2400 to 0900 hrs) is an usual feature of northeast monsoon. When there is a low, depression or cyclone close by the rainfall occurs throughout the day.
Northeast monsoon rains occur in spells of about 3 to 4 days duration. Spells exceeding 4 days are much less (20%). There are at times long spells of dry weather with little or no rain.
http://www.imdchennai.gov.in/northeast_monsoon.htm
NORTHEAST MONSOON RAINFALL OVER CHENNAI
YEAR NUNGAMBAKKAM (NORMAL 75 CM) MINAMBAKKAM (NORMAL 77CM)
1990 97 77
1991 79 75
1992 73 75
1993 90 104
1994 118 115
1995 53 44
1996 126 113
1997 157 144
1998 72 80
1999 53 52
2000 40 50
2001 108 97
2002 99 83
2003 31 38
2004 57 62
2005 211 186
2006 89 96
NORTHEAST MONSOON RAINFALL OVER TAMILNADU
YEAR DATE OF ONSET SEASONAL RAINFALL (MM) ACTUAL SEASONAL RAINFALL (MM) NORMAL PERCENTAGE DEPARTURE (%)
1990 19 October 468 483 - 3
1991 20 October 488 477 + 2
1992 2 November 514 470 + 9
1993 21 October 784 479 + 64
1994 18 October 534 418 + 12
1995 23 October 260 479 - 46
1996 11 October 592 477 + 24
1997 13 October 810 478 + 70
1998 28 October 619 478 + 30
1999 21 October 517 483 + 7
2000 2 November 346 483 -28
2001 16 October 382 483 -21
2002 25 October 395 483 -14
2003 19 October 435 469 -7
2004 18 October 435 432 1
2005 12 October 773 432 79
2006 19 October 497 432 15
Wednesday, December 17, 2008
Thursday, December 4, 2008
zonal and meridianal components of wind code in fortran
c Program to calculate zonal and meridianal components of wind
integer ff,ddd
real u,v
print*,'Enter the wind speed:'
read*,ff
print*,'Enter the wind direction:'
read*,ddd
u=0.5148*(-1)*ff*sin(ddd*3.14/180)
v=0.5148*(-1)*ff*cos(ddd*3.14/180)
write(*,1)u
1 format('zonal velocity=',f10.4,' m/s' )
write(*,2)v
2 format('Meridianal velocity=',f10.4,' m/s' )
stop
end
integer ff,ddd
real u,v
print*,'Enter the wind speed:'
read*,ff
print*,'Enter the wind direction:'
read*,ddd
u=0.5148*(-1)*ff*sin(ddd*3.14/180)
v=0.5148*(-1)*ff*cos(ddd*3.14/180)
write(*,1)u
1 format('zonal velocity=',f10.4,' m/s' )
write(*,2)v
2 format('Meridianal velocity=',f10.4,' m/s' )
stop
end
Wednesday, December 3, 2008
Stream function by Relaxation Tecnique in fortran
c Program to find Stream function by Relaxation Tecnique
dimension u(10,10),v(10,10),vort(10,10),ngrid(10,10),ogrid(10,10)
real forcef,ngrid,ogrid,residue
integer n,k
print*,'Enter the size of grid excluding boundary:'
read*,n
print*,'Enter the distance between grid points :'
read*,d
do i=1,n+2
u(1,i)=0
u(i,1)=0
u(n+2,i)=0
u(i,n+2)=0
v(1,i)=0
v(i,1)=0
v(n+2,i)=0
v(i,n+2)=0
vort(1,i)=0
vort(i,1)=0
vort(n+2,i)=0
vort(i,n+2)=0
ngrid(1,i)=0
ngrid(i,1)=0
ngrid(n+2,i)=0
ngrid(i,n+2)=0
ogrid(1,i)=0
ogrid(i,1)=0
ogrid(n+2,i)=0
ogrid(i,n+2)=0
enddo
open (1,file='uwnd.dat')
read (1,*)((u(i,j),j=2,n+1),i=2,n+1)
close(1)
open (2,file='vwnd.dat')
read (2,*)((v(i,j),j=2,n+1),i=2,n+1)
close(2)
do i=2,n+1
do j=2,n+1
vort(i,j)=((v(i+1,j)-v(i-1,j))-(u(i,j+1)-u(i,j-1)))/(2*d)
enddo
enddo
write(*,*)'Vorticity values'
do i=2,n+1
write(*,*) (vort(i,j),j=2,n+1)
enddo
do i=2,n+1
do j=2,n+1
ngrid(i,j)=0
enddo
enddo
k=1
10 print*,'Trial :',k
do i=2,n+1
do j=2,n+1
ogrid(i,j)=ngrid(i,j)
enddo
enddo
do i=2,n+1
do j=2,n+1
residue=ogrid(i-1,j)+ogrid(i+1,j)+ogrid(i,j-1)+ogrid(i,j+1)-(4*ogrid(i,j))+(d*d*vort(i,j))
ngrid(i,j)=ogrid(i,j)+(residue/4)
enddo
enddo
do i=2,n+1
do j=2,n+1
if((ngrid(i,j)-ogrid(i,j)).gt.0.0001) then
k=k+1
goto 10
endif
enddo
enddo
open(3,file="stream_function.txt")
do i=2,n+1
write(3,*) (ngrid(i,j),j=2,n+1)
enddo
write(*,*)'Stream function values are written in the file stream_function.txt'
do i=2,n+1
write(*,*) (ngrid(i,j),j=2,n+1)
enddo
stop
end
dimension u(10,10),v(10,10),vort(10,10),ngrid(10,10),ogrid(10,10)
real forcef,ngrid,ogrid,residue
integer n,k
print*,'Enter the size of grid excluding boundary:'
read*,n
print*,'Enter the distance between grid points :'
read*,d
do i=1,n+2
u(1,i)=0
u(i,1)=0
u(n+2,i)=0
u(i,n+2)=0
v(1,i)=0
v(i,1)=0
v(n+2,i)=0
v(i,n+2)=0
vort(1,i)=0
vort(i,1)=0
vort(n+2,i)=0
vort(i,n+2)=0
ngrid(1,i)=0
ngrid(i,1)=0
ngrid(n+2,i)=0
ngrid(i,n+2)=0
ogrid(1,i)=0
ogrid(i,1)=0
ogrid(n+2,i)=0
ogrid(i,n+2)=0
enddo
open (1,file='uwnd.dat')
read (1,*)((u(i,j),j=2,n+1),i=2,n+1)
close(1)
open (2,file='vwnd.dat')
read (2,*)((v(i,j),j=2,n+1),i=2,n+1)
close(2)
do i=2,n+1
do j=2,n+1
vort(i,j)=((v(i+1,j)-v(i-1,j))-(u(i,j+1)-u(i,j-1)))/(2*d)
enddo
enddo
write(*,*)'Vorticity values'
do i=2,n+1
write(*,*) (vort(i,j),j=2,n+1)
enddo
do i=2,n+1
do j=2,n+1
ngrid(i,j)=0
enddo
enddo
k=1
10 print*,'Trial :',k
do i=2,n+1
do j=2,n+1
ogrid(i,j)=ngrid(i,j)
enddo
enddo
do i=2,n+1
do j=2,n+1
residue=ogrid(i-1,j)+ogrid(i+1,j)+ogrid(i,j-1)+ogrid(i,j+1)-(4*ogrid(i,j))+(d*d*vort(i,j))
ngrid(i,j)=ogrid(i,j)+(residue/4)
enddo
enddo
do i=2,n+1
do j=2,n+1
if((ngrid(i,j)-ogrid(i,j)).gt.0.0001) then
k=k+1
goto 10
endif
enddo
enddo
open(3,file="stream_function.txt")
do i=2,n+1
write(3,*) (ngrid(i,j),j=2,n+1)
enddo
write(*,*)'Stream function values are written in the file stream_function.txt'
do i=2,n+1
write(*,*) (ngrid(i,j),j=2,n+1)
enddo
stop
end
Velocity potential by Relaxation Tecnique in fortran
c Program to find Velocity potential by Relaxation Tecnique
dimension u(10,10),v(10,10),div(10,10),ngrid(10,10),ogrid(10,10)
real forcef,ngrid,ogrid,residue
integer n,k
print*,'Enter the size of grid excluding boundary:'
read*,n
print*,'Enter the distance between grid points :'
read*,d
do i=1,n+2
u(1,i)=0
u(i,1)=0
u(n+2,i)=0
u(i,n+2)=0
v(1,i)=0
v(i,1)=0
v(n+2,i)=0
v(i,n+2)=0
div(1,i)=0
div(i,1)=0
div(n+2,i)=0
div(i,n+2)=0
ngrid(1,i)=0
ngrid(i,1)=0
ngrid(n+2,i)=0
ngrid(i,n+2)=0
ogrid(1,i)=0
ogrid(i,1)=0
ogrid(n+2,i)=0
ogrid(i,n+2)=0
enddo
open (1,file='uwnd.dat')
read (1,*)((u(i,j),j=2,n+1),i=2,n+1)
close(1)
open (2,file='vwnd.dat')
read (2,*)((v(i,j),j=2,n+1),i=2,n+1)
close(2)
do i=2,n+1
do j=2,n+1
div(i,j)=((u(i+1,j)-u(i-1,j))+(v(i,j+1)-v(i,j-1)))/(2*d)
enddo
enddo
write(*,*)'Divergence values'
do i=2,n+1
write(*,*) (div(i,j),j=2,n+1)
enddo
do i=2,n+1
do j=2,n+1
ngrid(i,j)=0
enddo
enddo
k=1
10 print*,'Trial :',k
do i=2,n+1
do j=2,n+1
ogrid(i,j)=ngrid(i,j)
enddo
enddo
do i=2,n+1
do j=2,n+1
residue=ogrid(i-1,j)+ogrid(i+1,j)+ogrid(i,j-1)+ogrid(i,j+1)-(4*ogrid(i,j))+(d*d*div(i,j))
ngrid(i,j)=ogrid(i,j)+(residue/4)
enddo
enddo
do i=2,n+1
do j=2,n+1
if((ngrid(i,j)-ogrid(i,j)).gt.0.0001) then
k=k+1
goto 10
endif
enddo
enddo
open(3,file="velocity_potential.txt")
do i=2,n+1
write(3,*)(ngrid(i,j),j=2,n+1)
enddo
write(*,*)'Velocity potentials are written in the file velocity_potential.txt'
do i=2,n+1
write(*,*) (ngrid(i,j),j=2,n+1)
enddo
stop
end
dimension u(10,10),v(10,10),div(10,10),ngrid(10,10),ogrid(10,10)
real forcef,ngrid,ogrid,residue
integer n,k
print*,'Enter the size of grid excluding boundary:'
read*,n
print*,'Enter the distance between grid points :'
read*,d
do i=1,n+2
u(1,i)=0
u(i,1)=0
u(n+2,i)=0
u(i,n+2)=0
v(1,i)=0
v(i,1)=0
v(n+2,i)=0
v(i,n+2)=0
div(1,i)=0
div(i,1)=0
div(n+2,i)=0
div(i,n+2)=0
ngrid(1,i)=0
ngrid(i,1)=0
ngrid(n+2,i)=0
ngrid(i,n+2)=0
ogrid(1,i)=0
ogrid(i,1)=0
ogrid(n+2,i)=0
ogrid(i,n+2)=0
enddo
open (1,file='uwnd.dat')
read (1,*)((u(i,j),j=2,n+1),i=2,n+1)
close(1)
open (2,file='vwnd.dat')
read (2,*)((v(i,j),j=2,n+1),i=2,n+1)
close(2)
do i=2,n+1
do j=2,n+1
div(i,j)=((u(i+1,j)-u(i-1,j))+(v(i,j+1)-v(i,j-1)))/(2*d)
enddo
enddo
write(*,*)'Divergence values'
do i=2,n+1
write(*,*) (div(i,j),j=2,n+1)
enddo
do i=2,n+1
do j=2,n+1
ngrid(i,j)=0
enddo
enddo
k=1
10 print*,'Trial :',k
do i=2,n+1
do j=2,n+1
ogrid(i,j)=ngrid(i,j)
enddo
enddo
do i=2,n+1
do j=2,n+1
residue=ogrid(i-1,j)+ogrid(i+1,j)+ogrid(i,j-1)+ogrid(i,j+1)-(4*ogrid(i,j))+(d*d*div(i,j))
ngrid(i,j)=ogrid(i,j)+(residue/4)
enddo
enddo
do i=2,n+1
do j=2,n+1
if((ngrid(i,j)-ogrid(i,j)).gt.0.0001) then
k=k+1
goto 10
endif
enddo
enddo
open(3,file="velocity_potential.txt")
do i=2,n+1
write(3,*)(ngrid(i,j),j=2,n+1)
enddo
write(*,*)'Velocity potentials are written in the file velocity_potential.txt'
do i=2,n+1
write(*,*) (ngrid(i,j),j=2,n+1)
enddo
stop
end
Tuesday, December 2, 2008
Relaxation Technique using fortran
c Program of Relaxation Technique
dimension forcef(10,10),ngrid(10,10),ogrid(10,10)
real forcef,ngrid,ogrid,residue
integer n,k
print*,'Enter the size of grid excluding boundary:'
read*,n
print*,'Enter the distance between grid points :'
read*,d
do i=1,n+2
forcef(1,i)=0
forcef(i,1)=0
forcef(n+2,i)=0
forcef(i,n+2)=0
ngrid(1,i)=0
ngrid(i,1)=0
ngrid(n+2,i)=0
ngrid(i,n+2)=0
ogrid(1,i)=0
ogrid(i,1)=0
ogrid(n+2,i)=0
ogrid(i,n+2)=0
enddo
open (1,file='force.dat')
read (1,*)((forcef(i,j),j=2,n+1),i=2,n+1)
close(1)
do i=2,n+1
do j=2,n+1
ngrid(i,j)=0
enddo
enddo
k=1
10 print*,'Trial :',k
do i=2,n+1
do j=2,n+1
ogrid(i,j)=ngrid(i,j)
enddo
enddo
do i=2,n+1
do j=2,n+1
residue=ogrid(i-1,j)+ogrid(i+1,j)+ogrid(i,j-1)+ogrid(i,j+1)-(4*ogrid(i,j))+(d*d*forcef(i,j))
ngrid(i,j)=ogrid(i,j)+(residue/4)
enddo
enddo
do i=2,n+1
do j=2,n+1
if((ngrid(i,j)-ogrid(i,j)).gt.0.0001) then
k=k+1
goto 10
endif
enddo
enddo
write(*,*)'Grid values'
do i=2,n+1
write(*,*) (ngrid(i,j),j=2,n+1
enddo
stop
end
dimension forcef(10,10),ngrid(10,10),ogrid(10,10)
real forcef,ngrid,ogrid,residue
integer n,k
print*,'Enter the size of grid excluding boundary:'
read*,n
print*,'Enter the distance between grid points :'
read*,d
do i=1,n+2
forcef(1,i)=0
forcef(i,1)=0
forcef(n+2,i)=0
forcef(i,n+2)=0
ngrid(1,i)=0
ngrid(i,1)=0
ngrid(n+2,i)=0
ngrid(i,n+2)=0
ogrid(1,i)=0
ogrid(i,1)=0
ogrid(n+2,i)=0
ogrid(i,n+2)=0
enddo
open (1,file='force.dat')
read (1,*)((forcef(i,j),j=2,n+1),i=2,n+1)
close(1)
do i=2,n+1
do j=2,n+1
ngrid(i,j)=0
enddo
enddo
k=1
10 print*,'Trial :',k
do i=2,n+1
do j=2,n+1
ogrid(i,j)=ngrid(i,j)
enddo
enddo
do i=2,n+1
do j=2,n+1
residue=ogrid(i-1,j)+ogrid(i+1,j)+ogrid(i,j-1)+ogrid(i,j+1)-(4*ogrid(i,j))+(d*d*forcef(i,j))
ngrid(i,j)=ogrid(i,j)+(residue/4)
enddo
enddo
do i=2,n+1
do j=2,n+1
if((ngrid(i,j)-ogrid(i,j)).gt.0.0001) then
k=k+1
goto 10
endif
enddo
enddo
write(*,*)'Grid values'
do i=2,n+1
write(*,*) (ngrid(i,j),j=2,n+1
enddo
stop
end
Monday, December 1, 2008
Lifting condensation level calculation using fortran
c Program for calculating Lifting condensation level
real ps,ts,pts,es,qs,zs,pl,tl,ptl,el,ql,zl
print*,'Enter the surface value of pressure'
read*,ps
print*,'Enter the surface value of temperature '
read*,ts
print*,'Enter the surface value of geopotential hight'
read*,zs
print*,'Enter the surface value of Relative humidity (%)'
read*,rh
r=287.05
cp=1004
if(ts.gt.273)then
A=17.26
B=35.86
else
A=21.8
B=7.66
endif
pts=ts*((1000/ps)**(r/cp))
es=6.11*EXP(A*(ts-273.16)/(ts-B))*rh/100
qs=0.622*es/(ps-0.378*es)
ptl=pts
do pl=40,1000
tl=ptl*((pl/1000)**(r/cp))
el=6.11*EXP(A*(tl-273.16)/(tl-B))
ql=0.622*el/(pl-0.378*el)
if(ql.ge.qs)then
zl=zs+(cp*(ts-tl)/9.8)
write(*,*)'Lifting condensation level is',pl
write(*,*)'Temperature of lcl is',tl
write(*,*)'Geopotential hight at lcl is ',zl
goto 10
endif
enddo
10 stop
end
real ps,ts,pts,es,qs,zs,pl,tl,ptl,el,ql,zl
print*,'Enter the surface value of pressure'
read*,ps
print*,'Enter the surface value of temperature '
read*,ts
print*,'Enter the surface value of geopotential hight'
read*,zs
print*,'Enter the surface value of Relative humidity (%)'
read*,rh
r=287.05
cp=1004
if(ts.gt.273)then
A=17.26
B=35.86
else
A=21.8
B=7.66
endif
pts=ts*((1000/ps)**(r/cp))
es=6.11*EXP(A*(ts-273.16)/(ts-B))*rh/100
qs=0.622*es/(ps-0.378*es)
ptl=pts
do pl=40,1000
tl=ptl*((pl/1000)**(r/cp))
el=6.11*EXP(A*(tl-273.16)/(tl-B))
ql=0.622*el/(pl-0.378*el)
if(ql.ge.qs)then
zl=zs+(cp*(ts-tl)/9.8)
write(*,*)'Lifting condensation level is',pl
write(*,*)'Temperature of lcl is',tl
write(*,*)'Geopotential hight at lcl is ',zl
goto 10
endif
enddo
10 stop
end
vertical distribution of vorticity using fortran
c program to find vertical distribution of vorticity
integer n,p(10)
real lat1,lat2,lon1,lon2,lat,dx,dy,tem,vort(10)
real omega,w
dimension ddd(4),ff(4)
print*,'enter the no of pressure levels'
read(*,*)n
print*,'enter the latitudes of south'
read(*,*)lat1
print*,'enter the latitudes of north'
read(*,*)lat2
print*,'enter the longitude of west'
read(*,*)lon1
print*,'enter the longitude of east'
read(*,*)lon2
lat=(lat1+lat2)/2
dx=(lon2-lon1)*cos(lat)*110*1000
dy=(lat2-lat1)*110*1000
open(1,file='vert.dat')
do i=1,n
read(1,*)p(i)
write(*,*)p(i)
do j=1,4
read(1,*)ddd(j),ff(j)
write(*,*)ddd(j),ff(j)
enddo
un=0.5148*(-1)*ff(1)*sin(ddd(1)*3.14/180)
us=0.5148*(-1)*ff(3)*sin(ddd(3)*3.14/180)
ve=0.5148*(-1)*ff(2)*cos(ddd(2)*3.14/180)
vw=0.5148*(-1)*ff(4)*cos(ddd(4)*3.14/180)
vort(i)=(ve-vw)/dx-(un-us)/dy
write(*,2)p(i),vort(i)
write(*,2)p(i),vort(i)*dx*dy
enddo
close(1)
2 format('Vorticity at level ',i7,' is ',f10.6)
3 format('Circulation at level ',i7,' is ',f10.6)
stop
end
integer n,p(10)
real lat1,lat2,lon1,lon2,lat,dx,dy,tem,vort(10)
real omega,w
dimension ddd(4),ff(4)
print*,'enter the no of pressure levels'
read(*,*)n
print*,'enter the latitudes of south'
read(*,*)lat1
print*,'enter the latitudes of north'
read(*,*)lat2
print*,'enter the longitude of west'
read(*,*)lon1
print*,'enter the longitude of east'
read(*,*)lon2
lat=(lat1+lat2)/2
dx=(lon2-lon1)*cos(lat)*110*1000
dy=(lat2-lat1)*110*1000
open(1,file='vert.dat')
do i=1,n
read(1,*)p(i)
write(*,*)p(i)
do j=1,4
read(1,*)ddd(j),ff(j)
write(*,*)ddd(j),ff(j)
enddo
un=0.5148*(-1)*ff(1)*sin(ddd(1)*3.14/180)
us=0.5148*(-1)*ff(3)*sin(ddd(3)*3.14/180)
ve=0.5148*(-1)*ff(2)*cos(ddd(2)*3.14/180)
vw=0.5148*(-1)*ff(4)*cos(ddd(4)*3.14/180)
vort(i)=(ve-vw)/dx-(un-us)/dy
write(*,2)p(i),vort(i)
write(*,2)p(i),vort(i)*dx*dy
enddo
close(1)
2 format('Vorticity at level ',i7,' is ',f10.6)
3 format('Circulation at level ',i7,' is ',f10.6)
stop
end
One diamensional lagrangian interpolation using fortran
c One diamensional lagrangian interpolation
integer n
real x(50),f(50),a,sm,pro
print *, 'Enter the number of available stations'
read *, n
open(1,file='onedim.dat')
do i=1,n
read(1,*)x(i),f(i)
write(*,*)x(i),f(i)
enddo
close(1)
print*, 'Enter position of unknown data station'
read *, a
sm=0
pro=1
do i=1,n
pro=f(i)
do j=1,n
if(j.ne.i)then
pro=pro*(a-x(j))/(x(i)-x(j))
endif
enddo
sm=sm+pro
enddo
write(*,2)a,sm
2 format('The value at station ',f5.2,'is',f7.2)
stop
end
integer n
real x(50),f(50),a,sm,pro
print *, 'Enter the number of available stations'
read *, n
open(1,file='onedim.dat')
do i=1,n
read(1,*)x(i),f(i)
write(*,*)x(i),f(i)
enddo
close(1)
print*, 'Enter position of unknown data station'
read *, a
sm=0
pro=1
do i=1,n
pro=f(i)
do j=1,n
if(j.ne.i)then
pro=pro*(a-x(j))/(x(i)-x(j))
endif
enddo
sm=sm+pro
enddo
write(*,2)a,sm
2 format('The value at station ',f5.2,'is',f7.2)
stop
end
Vertical Velocity calculation using fortran
c program to find vertical velocity
integer n,p(10)
real lat1,lat2,lon1,lon2,lat,dx,dy,tem,div(10),avgdiv(10),dp
real omega,w
dimension ddd(4),ff(4)
print*,'enter the no of pressure levels'
read(*,*)n
print*,'enter the latitudes of south'
read(*,*)lat1
print*,'enter the latitudes of north'
read(*,*)lat2
print*,'enter the longitude of west'
read(*,*)lon1
print*,'enter the longitude of east'
read(*,*)lon2
lat=(lat1+lat2)/2
dx=(lon2-lon1)*cos(lat)*110*1000
dy=(lat2-lat1)*110*1000
write(*,*)'enter the temp in kelvin'
read(*,*)tem
open(1,file='vert.dat')
do i=1,n
read(1,*)p(i)
write(*,*)p(i)
do j=1,4
read(1,*)ddd(j),ff(j)
write(*,*)ddd(j),ff(j)
enddo
ue=0.5148*(-1)*ff(2)*sin(ddd(2)*3.14/180)
uw=0.5148*(-1)*ff(4)*sin(ddd(4)*3.14/180)
vn=0.5148*(-1)*ff(1)*cos(ddd(1)*3.14/180)
vs=0.5148*(-1)*ff(3)*cos(ddd(3)*3.14/180)
div(i)=(ue-uw)/dx+(vn-vs)/dy
enddo
omega=0.0
do i=1,n-1
avgdiv(i)=(div(i)+div(i+1))/2
dp=(p(i)-p(i+1))
omega=omega+avgdiv(i)*dp
enddo
close(1)
write(*,2)omega
w=((-1)*omega*287*tem)/(9.8*p(n))*100
write(*,3)w
2 format('vertical velocity=',f10.8,' in pressure co-ordinate' )
3 format('vertical velocity=',f10.4,' cm/s' )
stop
end
integer n,p(10)
real lat1,lat2,lon1,lon2,lat,dx,dy,tem,div(10),avgdiv(10),dp
real omega,w
dimension ddd(4),ff(4)
print*,'enter the no of pressure levels'
read(*,*)n
print*,'enter the latitudes of south'
read(*,*)lat1
print*,'enter the latitudes of north'
read(*,*)lat2
print*,'enter the longitude of west'
read(*,*)lon1
print*,'enter the longitude of east'
read(*,*)lon2
lat=(lat1+lat2)/2
dx=(lon2-lon1)*cos(lat)*110*1000
dy=(lat2-lat1)*110*1000
write(*,*)'enter the temp in kelvin'
read(*,*)tem
open(1,file='vert.dat')
do i=1,n
read(1,*)p(i)
write(*,*)p(i)
do j=1,4
read(1,*)ddd(j),ff(j)
write(*,*)ddd(j),ff(j)
enddo
ue=0.5148*(-1)*ff(2)*sin(ddd(2)*3.14/180)
uw=0.5148*(-1)*ff(4)*sin(ddd(4)*3.14/180)
vn=0.5148*(-1)*ff(1)*cos(ddd(1)*3.14/180)
vs=0.5148*(-1)*ff(3)*cos(ddd(3)*3.14/180)
div(i)=(ue-uw)/dx+(vn-vs)/dy
enddo
omega=0.0
do i=1,n-1
avgdiv(i)=(div(i)+div(i+1))/2
dp=(p(i)-p(i+1))
omega=omega+avgdiv(i)*dp
enddo
close(1)
write(*,2)omega
w=((-1)*omega*287*tem)/(9.8*p(n))*100
write(*,3)w
2 format('vertical velocity=',f10.8,' in pressure co-ordinate' )
3 format('vertical velocity=',f10.4,' cm/s' )
stop
end
Subscribe to:
Posts (Atom)
Blog Archive
-
▼
2008
(34)
-
▼
December
(9)
- Northeast Monsoon
- zonal and meridianal components of wind code in f...
- Stream function by Relaxation Tecnique in fortran
- Velocity potential by Relaxation Tecnique in fortran
- Relaxation Technique using fortran
- Lifting condensation level calculation using fortran
- vertical distribution of vorticity using fortran
- One diamensional lagrangian interpolation using fo...
- Vertical Velocity calculation using fortran
-
▼
December
(9)