C $Header: /u/gcmpack/MITgcm/pkg/ptracers/ptracers_dyn_state_mod.F,v 1.4 2008/05/10 19:57:10 jmc Exp $
C $Name:  $

#include "PTRACERS_OPTIONS.h"
#ifdef PTRACERS_ALLOW_DYN_STATE

      MODULE PTRACERS_DYN_STATE_MOD

C ptracers internal state data structures
      TYPE PTRACERS_ISTATE
       _RL, POINTER :: som_P(:,:,:,:,:,:)
      END


TYPE CONTAINS SUBROUTINE PTRACERS_INIT_FIXED_DYNAMIC( & PTR_ISTATE_ARR, & PTRACERS_numInUse, & PTRACERS_SOM_Advection, & sNx, sNy, Nr, OLx, OLy, & nSx, nSy, nSOM, & myThid ) IMPLICIT NONE TYPE(PTRACERS_ISTATE), POINTER :: PTR_ISTATE_ARR(:) INTEGER PTRACERS_numInUse LOGICAL PTRACERS_SOM_Advection(PTRACERS_numInUse) INTEGER sNx, sNy, Nr, OLx, OLy, nSx, nSy, nSOM INTEGER myThid INTEGER iPtr ALLOCATE( PTR_ISTATE_ARR(PTRACERS_numInUse) ) DO iPtr = 1, PTRACERS_numInUse IF ( PTRACERS_SOM_Advection(iPtr) ) THEN ALLOCATE( PTR_ISTATE_ARR(iPtr)som_P(1-OLx:sNx+OLx, & 1-OLy:sNy+OLy, & Nr, & nSx, & nSy, & nSOM) ) ENDIF ENDDO RETURN END


SUBROUTINE END


MODULE #else C some compilers do not like empty files, so ... SUBROUTINE PTRACERS_DYN_STATE_MOD_DUMMY RETURN END


#endif