program map03 use dcl integer,parameter :: nx=18, ny=18 real,parameter :: xmin= 0, xmax=360, ymin=-90, ymax=+90 real,parameter :: pi=3.141592, drad=pi/180, dz=0.05, dp=0.2 real,dimension(0:nx,0:ny) :: p do j = 0, ny do i = 0, nx alon = ( xmin + (xmax-xmin) * i/nx ) * drad alat = ( ymin + (ymax-ymin) * j/ny ) * drad slat = sin(alat) p(i,j) = cos(alon) * (1-slat**2) * sin(2*pi*slat) + dz end do end do call DclOpenGraphics() rmiss = DclGetReal( 'GLOBAL:RMISS' ) call DclSetParm( 'GRAPH:lsoftf', .false. ) call DclNewFrame call DclSetWindow( xmin, xmax, ymin, ymax ) call DclSetViewPort( 0.1, 0.9, 0.1, 0.9 ) call DclSetSimilarity( 0.4, 0.0, 0.0 ) call DclSetMapProjectionAngle( 165.0, 60.0, 0.0 ) call DclSetMapProjectionWindow( -180.0, 180.0, 0.0, 90.0 ) call DclSetTransNumber( DCL_OTHOGAPHIC ) call DclSetTransFunction call DclSetParm( 'GRAPH:lclip', .true. ) call DclSetShadeLevel( rmiss, -dp, 201 ) call DclSetShadeLevel( dp, dp*2, 401 ) call DclSetShadeLevel( dp*2, rmiss, 402 ) call DclShadeContour( p ) call DclSetContourLevel( p, dp ) call DclDrawContour( p ) call DclDrawMap( 'coast_world' ) call DclDrawGlobe() call DclCloseGraphics end program |
|