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