/[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.1 by jmc, Fri Nov 22 17:17:03 2002 UTC revision 1.3 by jmc, Fri Jan 3 03:51:27 2003 UTC
# Line 18  C     -------------- Global variables -- Line 18  C     -------------- Global variables --
18  #include "SIZE.h"  #include "SIZE.h"
19  #include "EEPARAMS.h"  #include "EEPARAMS.h"
20  #include "PARAMS.h"  #include "PARAMS.h"
 #include "DYNVARS.h"  
21  #include "GRID.h"  #include "GRID.h"
22    #include "SURFACE.h"
23    #include "DYNVARS.h"
24    #include "AIM_PARAMS.h"
25    #include "AIM_FFIELDS.h"
26    c #include "AIM_GRID.h"
27  #include "AIM_DIAGS.h"  #include "AIM_DIAGS.h"
28    
29  C     == Routine arguments ==  C     == Routine arguments ==
# Line 30  C     myThid -  Number of this instance Line 34  C     myThid -  Number of this instance
34  C     == Local variables ==  C     == Local variables ==
35  C     HSG  - Cell face in vertical  C     HSG  - Cell face in vertical
36  C     pGround - Lower boundary pressure  C     pGround - Lower boundary pressure
37  C     I, J, K, bi,bj  - Loop counters  C     i, j, k, bi,bj  - Loop counters
38        _RL HSG(0:Nr)        _RL HSG(0:Nr)
39        _RL pGround        _RL pGround, tmpPgrnd
40        INTEGER K, bi, bj        INTEGER i, j, K, bi, bj
41        INTEGER Katm        INTEGER Katm
42    
43        pGround = atm_po  C--  Set default value for AIM interface code (AIM_PARAMS.h):
44        DO K=1,Nr        aim_useFMsurfBC = .TRUE.
45         Katm = _KD2KA( K )        aim_useMMsurfFc = .FALSE.
46         HSG(Katm) = rF(K)/pGround        aim_surfPotTemp = .FALSE.
47          aim_MMsufx = '.bin'
48          aim_MMsufxLength = 4
49          aim_LandFile = ' '
50          aim_albFile  = ' '
51          aim_vegFile  = ' '
52          aim_sstFile  = ' '
53          aim_lstFile  = ' '
54          aim_oiceFile = ' '
55          aim_snowFile = ' '
56          aim_swcFile  = ' '
57          aim_taveFreq = taveFreq
58          aim_diagFreq = dumpFreq
59          aim_tendFreq = 0.
60          
61    C--  Set default value for atmos. physics parameters:
62          pGround = atm_Po
63          DO k=1,Nr
64           Katm = _KD2KA( k )
65           HSG(Katm) = rF(k)/pGround
66        ENDDO        ENDDO
67         K=Nr+1         k=Nr+1
68         Katm = _KD2KA( K )         Katm = _KD2KA( k )
69         HSG(Katm) = rF(K)/pGround         HSG(Katm) = rF(k)/pGround
70    
71  c     DO bj = myByLo(myThid), myByHi(myThid)  c     DO bj = myByLo(myThid), myByHi(myThid)
72  c      DO bi = myBxLo(myThid), myBxHi(myThid)  c      DO bi = myBxLo(myThid), myBxHi(myThid)
# Line 54  C--   set default value for all atmos. p Line 77  C--   set default value for all atmos. p
77  c      ENDDO  c      ENDDO
78  c     ENDDO  c     ENDDO
79    
80    C--   Read AIM parameters (from file data.aimphys):
81          CALL AIM_READPARMS( myThid )
82    
83  C--   set energy fractions in LW bands as a function of temperature:  C--   set energy fractions in LW bands as a function of temperature:
84  C     initialize common block RADFIX (originally called from FORDATE in SPEEDY)  C     initialize common block RADFIX (originally called from FORDATE in SPEEDY)
85        _BEGIN_MASTER(myThid)          _BEGIN_MASTER(myThid)  
86         CALL RADSET( myThid)         CALL RADSET( myThid)
87        _END_MASTER ( myThid)          _END_MASTER ( myThid)  
88    
89        CALL AIM_READPARMS( myThid )  C--   Set truncSurfP : used to correct for truncation (because of hFacMin)
90    C      of surface reference pressure Ro_surf that affects Surf.Temp.
91          CALL INI_P_GROUND(selectFindRoSurf, topoZ, truncSurfP, myThid )
92          DO bj = myByLo(myThid), myByHi(myThid)
93           DO bi = myBxLo(myThid), myBxHi(myThid)
94            DO j=1,sNy
95             DO i=1,sNx
96              tmpPgrnd = MIN(truncSurfP(i,j,bi,bj),atm_Po)
97              truncSurfP(i,j,bi,bj)=
98         &     ( Ro_surf(i,j,bi,bj)/tmpPgrnd )**atm_kappa
99             ENDDO
100            ENDDO
101            IF (aim_useMMsurfFc .AND. aim_surfPotTemp) THEN
102             DO j=1,sNy
103              DO i=1,sNx
104               truncSurfP(i,j,bi,bj) =
105         &      ( Ro_surf(i,j,bi,bj)/atm_Po )**atm_kappa
106              ENDDO
107             ENDDO
108            ENDIF
109           ENDDO
110          ENDDO
111          
112    C--   Initialise surface forcing fields (in AIM_FFIELDS.h):
113    c     DO bj = myByLo(myThid), myByHi(myThid)
114    c      DO bi = myBxLo(myThid), myBxHi(myThid)
115    c       DO j=1-Oly,sNy+Oly
116    c        DO i=1-Olx,sNx+Olx  
117    c         aim_surfTemp(i,j,bi,bj) = 300.
118    c         aim_soilWater(i,j,bi,bj) = 0.
119    c         aim_albedo   (i,j,bi,bj) = 0.
120    c         aim_landFr   (i,j,bi,bj) = 0.
121    c        ENDDO
122    c       ENDDO
123    c      ENDDO
124    c     ENDDO
125    
126  #ifdef ALLOW_TIMEAVE  #ifdef ALLOW_AIM_TAVE
127  C     Initialise diagnostic counters (these are cleared on model start  C     Initialise diagnostic counters (these are cleared on model start
128  C      i.e. not loaded from history file for now ).  C      i.e. not loaded from history file for now ).
129        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
# Line 75  C      i.e. not loaded from history file Line 136  C      i.e. not loaded from history file
136          CALL TIMEAVE_RESET(SLRtave, 1, bi, bj, myThid)          CALL TIMEAVE_RESET(SLRtave, 1, bi, bj, myThid)
137          CALL TIMEAVE_RESET(SHFtave, 1, bi, bj, myThid)          CALL TIMEAVE_RESET(SHFtave, 1, bi, bj, myThid)
138          CALL TIMEAVE_RESET(EVAPtave, 1, bi, bj, myThid)          CALL TIMEAVE_RESET(EVAPtave, 1, bi, bj, myThid)
139          CALL TIMEAVE_RESET(PRECNVtave, 1, bi, bj, myThid)          CALL TIMEAVE_RESET(PRECNVtave,1, bi, bj, myThid)
140          CALL TIMEAVE_RESET(PRECLStave, 1, bi, bj, myThid)          CALL TIMEAVE_RESET(PRECLStave,1, bi, bj, myThid)
141          CALL TIMEAVE_RESET(CLOUDCtave, 1, bi, bj, myThid)          CALL TIMEAVE_RESET(CLOUDCtave,1, bi, bj, myThid)
142          AIM_TimeAve(1,bi,bj) = 0.          CALL TIMEAVE_RESET(CLTOPtave, 1, bi, bj, myThid)
143            CALL TIMEAVE_RESET(CBMFtave,  1, bi, bj, myThid)
144            CALL TIMEAVE_RESET(DRAGtave,  1, bi, bj, myThid)
145            CALL TIMEAVE_RESET(aimV0tave, 1, bi, bj, myThid)
146            CALL TIMEAVE_RESET(aimT0tave, 1, bi, bj, myThid)
147            CALL TIMEAVE_RESET(aimQ0tave, 1, bi, bj, myThid)
148            CALL TIMEAVE_RESET(aimRHtave,Nr, bi, bj, myThid)
149            DO k=1,Nr
150              aim_timeAve(k,bi,bj) = 0.
151            ENDDO
152         ENDDO         ENDDO
153        ENDDO        ENDDO
154  #endif /* ALLOW_TIMEAVE */  #endif /* ALLOW_AIM_TAVE */
155    
156  #endif /* ALLOW_AIM */  #endif /* ALLOW_AIM */
157    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22