/[MITgcm]/MITgcm/pkg/aim_v23/aim_initialise.F
ViewVC logotype

Diff of /MITgcm/pkg/aim_v23/aim_initialise.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.12 by jmc, Tue Aug 8 03:14:33 2006 UTC revision 1.15 by jmc, Wed Sep 2 19:13:25 2009 UTC
# Line 7  CBOP Line 7  CBOP
7  C     !ROUTINE: AIM_INITIALISE  C     !ROUTINE: AIM_INITIALISE
8  C     !INTERFACE:  C     !INTERFACE:
9        SUBROUTINE AIM_INITIALISE( myThid )        SUBROUTINE AIM_INITIALISE( myThid )
10    
11  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
12  C     *==================================================================*  C     *==================================================================*
13  C     | S/R AIM_INITIALISE  C     | S/R AIM_INITIALISE
# Line 16  C     | 1) call iniphys (=> set paramete Line 17  C     | 1) call iniphys (=> set paramete
17  C     | 2) read AIM parameters  C     | 2) read AIM parameters
18  C     *==================================================================*  C     *==================================================================*
19  C     \ev  C     \ev
   
20  C     !USES:  C     !USES:
21        IMPLICIT NONE        IMPLICIT NONE
22    
# Line 30  C     === Global variables === Line 30  C     === Global variables ===
30  #include "AIM_FFIELDS.h"  #include "AIM_FFIELDS.h"
31  c #include "AIM_GRID.h"  c #include "AIM_GRID.h"
32  c #include "AIM_DIAGS.h"  c #include "AIM_DIAGS.h"
 #ifdef ALLOW_MNC  
 #include "MNC_PARAMS.h"  
 #endif  
33    
34  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
35  C     == Routine arguments ==  C     == Routine arguments ==
36  C     myThid :: my Thread Id number  C     myThid :: my Thread Id. number
37        INTEGER myThid        INTEGER myThid
38    
39  #ifdef ALLOW_AIM  #ifdef ALLOW_AIM
# Line 47  C     pGround :: Lower boundary pressure Line 44  C     pGround :: Lower boundary pressure
44  C     bi,bj   :: Tile indices  C     bi,bj   :: Tile indices
45  C     i, j, k :: Loop counters  C     i, j, k :: Loop counters
46        _RL HSG(0:Nr)        _RL HSG(0:Nr)
47        _RL pGround, tmpPgrnd        _RL pGround, tmpPgrnd, tmpVar
48        INTEGER bi, bj        INTEGER bi, bj
49        INTEGER i, j, k        INTEGER i, j, k
50        INTEGER Katm        INTEGER Katm
# Line 57  C---+----1----+----2----+----3----+----4 Line 54  C---+----1----+----2----+----3----+----4
54    
55        _BEGIN_MASTER(myThid )        _BEGIN_MASTER(myThid )
56    
 C--  Set default value for AIM interface code (AIM_PARAMS.h):  
       aim_useFMsurfBC = .TRUE.  
       aim_useMMsurfFc = .FALSE.  
       aim_surfPotTemp = .FALSE.  
       aim_energPrecip = .FALSE.  
       aim_splitSIOsFx = .FALSE.  
       aim_clrSkyDiag  = .FALSE.  
 #ifdef ALLOW_MNC  
       aim_timeave_mnc       = timeave_mnc .AND. useMNC  
       aim_snapshot_mnc      = snapshot_mnc .AND. useMNC  
       aim_pickup_write_mnc  = pickup_write_mnc .AND. useMNC  
       aim_pickup_read_mnc   = pickup_read_mnc .AND. useMNC  
 #else  
       aim_timeave_mnc       = .FALSE.  
       aim_snapshot_mnc      = .FALSE.  
       aim_pickup_write_mnc  = .FALSE.  
       aim_pickup_read_mnc   = .FALSE.  
 #endif  
       aim_MMsufx = '.bin'  
       aim_MMsufxLength = 4  
       aim_LandFile = ' '  
       aim_albFile  = ' '  
       aim_vegFile  = ' '  
       aim_sstFile  = ' '  
       aim_lstFile  = ' '  
       aim_oiceFile = ' '  
       aim_snowFile = ' '  
       aim_swcFile  = ' '  
       aim_dragStrato = 0.  
       aim_taveFreq = taveFreq  
       aim_diagFreq = dumpFreq  
       aim_tendFreq = 0.  
   
57  C--  Set default value for atmos. physics parameters:  C--  Set default value for atmos. physics parameters:
58        pGround = atm_Po        pGround = atm_Po
59        DO k=1,Nr        DO k=1,Nr
# Line 121  C      of surface reference pressure Ro_ Line 85  C      of surface reference pressure Ro_
85         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
86          DO j=1,sNy          DO j=1,sNy
87           DO i=1,sNx           DO i=1,sNx
88            tmpPgrnd = MIN(truncSurfP(i,j,bi,bj),atm_Po)            tmpPgrnd = truncSurfP(i,j,bi,bj)
89            truncSurfP(i,j,bi,bj)=            tmpVar   = Ro_surf(i,j,bi,bj)
90       &     ( Ro_surf(i,j,bi,bj)/tmpPgrnd )**atm_kappa            tmpPgrnd = MIN( tmpPgrnd, atm_Po )
91              truncSurfP(i,j,bi,bj) = ( tmpVar/tmpPgrnd )**atm_kappa
92           ENDDO           ENDDO
93          ENDDO          ENDDO
94          IF (aim_useMMsurfFc .AND. aim_surfPotTemp) THEN          IF (aim_useMMsurfFc .AND. aim_surfPotTemp) THEN
95           DO j=1,sNy           DO j=1,sNy
96            DO i=1,sNx            DO i=1,sNx
97             truncSurfP(i,j,bi,bj) =             tmpVar   = Ro_surf(i,j,bi,bj)
98       &      ( Ro_surf(i,j,bi,bj)/atm_Po )**atm_kappa             truncSurfP(i,j,bi,bj) = ( tmpVar/atm_Po )**atm_kappa
99            ENDDO            ENDDO
100           ENDDO           ENDDO
101          ENDIF          ENDIF
# Line 151  C--   Initialise Land Fraction (in AIM_F Line 116  C--   Initialise Land Fraction (in AIM_F
116        IF ( aim_LandFile .NE. ' '  ) THEN        IF ( aim_LandFile .NE. ' '  ) THEN
117           _BARRIER           _BARRIER
118           CALL READ_REC_XY_RS(aim_LandFile,aim_landFr,1,nIter0,myThid)           CALL READ_REC_XY_RS(aim_LandFile,aim_landFr,1,nIter0,myThid)
119    C-    better to fill land fraction overlap (likely to be needed for sea-ice)
120             CALL EXCH_XY_RS( aim_landFr, myThid )
121        ENDIF        ENDIF
122    
123  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.22