C     $Header: /u/gcmpack/MITgcm/pkg/aim/aim_dyn2aim.F,v 1.4 2002/09/27 20:05:11 jmc Exp $
C     $Name:  $

#include "AIM_OPTIONS.h"

CStartOfInterface
      SUBROUTINE AIM_DYN2AIM(
     I           bi,bj, myCurrentTime,myThid)
C     /==========================================================\
C     | S/R AIM_DYN2AIM                                          |
C     | o Map dynamics conforming arrays to AIM internal arrays. |
C     |==========================================================|
C     | Currently this routine transfers grid information to     |
C     | AIM. Other information needs to be included from         |
C     | aim_do_atmos_physics().                                  |
C     \==========================================================/
      IMPLICIT NONE

C     == Global data ==
C-- size for MITgcm & Physics package :
#include "AIM_SIZE.h" 

#include "EEPARAMS.h"
#include "PARAMS.h"
#include "GRID.h"
#include "DYNVARS.h"

#include "AIM_GRID.h"
#include "com_physvar.h"
#include "com_physcon.h"

C     == Routine arguments ==
      INTEGER bi, bj
      _RL myCurrentTime
      INTEGER myThid
CEndOfInterface

#ifdef ALLOW_AIM
C     == Local variables ==
C     Loop counters
      INTEGER I, J, I2, K

C     Legendre polynomials 
      DO J=1,NLAT
       DO I=1,NLON
        I2=J
        I2=NLON*(J-1)+I
        FMU(I2,1,myThid)=SIN(yC(I,J,bi,bj)*deg2rad)
        FMU(I2,2,myThid)=1.5 _d 0*FMU(I2,1,myThid)**2-0.5 _d 0
       ENDDO
      ENDDO
C     DO J=1,NLAT
C      FMU(J,1,myThid)=SIN(yC(1,J,bi,bj)*deg2rad)
C      FMU(J,2,myThid)=1.5 _d 0*FMU(J,1,myThid)**2-0.5 _d 0
C     ENDDO

C     Depth in levels
      I2=0
      DO J=1,NLAT
        DO I=1,NLON
          I2=I2+1
          NLEVxy(I2,myThid) =0
          NLEVxyU(I2,myThid)=0
          NLEVxyV(I2,myThid)=0
          DO k=1,NLEV
            NLEVxy(I2,myThid) = NLEVxy(I2,myThid)
     &                        + INT( maskC(I,J,K,bi,bj) )
            NLEVxyU(I2,myThid)= NLEVxyU(I2,myThid)
     &                        + INT( maskW(I,J,K,bi,bj) )
            NLEVxyV(I2,myThid)= NLEVxyV(I2,myThid)
     &                        + INT( maskS(I,J,K,bi,bj) )
          ENDDO
        ENDDO
      ENDDO

#endif /* ALLOW_AIM */

      RETURN
      END