subroutine rotate_fields(itime) use read_file_module,only: nlon,nlat,z_mgcm,t_mgcm,u_mgcm,v_mgcm implicit none ! ! Args: integer,intent(in) :: itime ! ! Local: integer :: i,ii,j,nlonrot,isecs_per_day real :: deg_per_sec,deg_rot,deg_per_lon real,dimension(nlon) :: fz,ft,fu,fv ! deg_per_sec = 360./float(isecs_per_day) deg_rot = float(isecs_per_day/2)*deg_per_sec ! 1/2 day rotation deg_per_lon = 360./float(nlon) ! deg rotation per lon grid point nlonrot = nint(deg_rot/deg_per_lon) do j=1,nlat fz(:) = z_mgcm(:,j) ft(:) = t_mgcm(:,j) fu(:) = u_mgcm(:,j) fv(:) = v_mgcm(:,j) do i=1,nlon ii = mod(i+nlonrot-1,nlon)+1 z_mgcm(i,j) = fz(ii) t_mgcm(i,j) = ft(ii) u_mgcm(i,j) = fu(ii) v_mgcm(i,j) = fv(ii) enddo enddo end subroutine rotate_fields