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

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

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


Revision 1.12 - (hide annotations) (download)
Tue Aug 8 03:14:33 2006 UTC (17 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58o_post, checkpoint58p_post, checkpoint58n_post
Changes since 1.11: +41 -26 lines
add missing barrier before reading land-fraction

1 jmc 1.12 C $Header: /u/gcmpack/MITgcm/pkg/aim_v23/aim_initialise.F,v 1.11 2005/09/11 04:35:31 edhill Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "AIM_OPTIONS.h"
5    
6 jmc 1.12 CBOP
7     C !ROUTINE: AIM_INITIALISE
8     C !INTERFACE:
9 jmc 1.1 SUBROUTINE AIM_INITIALISE( myThid )
10 jmc 1.12 C !DESCRIPTION: \bv
11 jmc 1.1 C *==================================================================*
12     C | S/R AIM_INITIALISE
13     C *==================================================================*
14     C | Initialisation of AIM atmospheric physics package :
15     C | 1) call iniphys (=> set parameters to default value)
16 jmc 1.12 C | 2) read AIM parameters
17 jmc 1.1 C *==================================================================*
18 jmc 1.12 C \ev
19    
20     C !USES:
21 jmc 1.1 IMPLICIT NONE
22    
23 jmc 1.12 C === Global variables ===
24     #include "SIZE.h"
25 jmc 1.1 #include "EEPARAMS.h"
26     #include "PARAMS.h"
27 jmc 1.2 #include "GRID.h"
28     #include "SURFACE.h"
29     #include "AIM_PARAMS.h"
30     #include "AIM_FFIELDS.h"
31     c #include "AIM_GRID.h"
32 jmc 1.12 c #include "AIM_DIAGS.h"
33 edhill 1.9 #ifdef ALLOW_MNC
34     #include "MNC_PARAMS.h"
35     #endif
36 jmc 1.1
37 jmc 1.12 C !INPUT/OUTPUT PARAMETERS:
38 jmc 1.1 C == Routine arguments ==
39 jmc 1.12 C myThid :: my Thread Id number
40 jmc 1.1 INTEGER myThid
41    
42     #ifdef ALLOW_AIM
43 jmc 1.12 C !LOCAL VARIABLES:
44 jmc 1.1 C == Local variables ==
45 jmc 1.12 C HSG :: Cell face in vertical
46     C pGround :: Lower boundary pressure
47     C bi,bj :: Tile indices
48     C i, j, k :: Loop counters
49 jmc 1.1 _RL HSG(0:Nr)
50 jmc 1.2 _RL pGround, tmpPgrnd
51 jmc 1.12 INTEGER bi, bj
52     INTEGER i, j, k
53 jmc 1.1 INTEGER Katm
54 jmc 1.12 CEOP
55    
56     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
57    
58     _BEGIN_MASTER(myThid )
59 jmc 1.1
60 jmc 1.2 C-- Set default value for AIM interface code (AIM_PARAMS.h):
61     aim_useFMsurfBC = .TRUE.
62     aim_useMMsurfFc = .FALSE.
63     aim_surfPotTemp = .FALSE.
64 jmc 1.6 aim_energPrecip = .FALSE.
65     aim_splitSIOsFx = .FALSE.
66 jmc 1.7 aim_clrSkyDiag = .FALSE.
67 edhill 1.9 #ifdef ALLOW_MNC
68 edhill 1.11 aim_timeave_mnc = timeave_mnc .AND. useMNC
69     aim_snapshot_mnc = snapshot_mnc .AND. useMNC
70     aim_pickup_write_mnc = pickup_write_mnc .AND. useMNC
71     aim_pickup_read_mnc = pickup_read_mnc .AND. useMNC
72 edhill 1.9 #else
73 edhill 1.11 aim_timeave_mnc = .FALSE.
74     aim_snapshot_mnc = .FALSE.
75     aim_pickup_write_mnc = .FALSE.
76     aim_pickup_read_mnc = .FALSE.
77 edhill 1.9 #endif
78 jmc 1.2 aim_MMsufx = '.bin'
79     aim_MMsufxLength = 4
80     aim_LandFile = ' '
81     aim_albFile = ' '
82     aim_vegFile = ' '
83     aim_sstFile = ' '
84     aim_lstFile = ' '
85     aim_oiceFile = ' '
86     aim_snowFile = ' '
87     aim_swcFile = ' '
88 jmc 1.5 aim_dragStrato = 0.
89 jmc 1.3 aim_taveFreq = taveFreq
90 jmc 1.2 aim_diagFreq = dumpFreq
91     aim_tendFreq = 0.
92 edhill 1.9
93 jmc 1.2 C-- Set default value for atmos. physics parameters:
94     pGround = atm_Po
95     DO k=1,Nr
96     Katm = _KD2KA( k )
97     HSG(Katm) = rF(k)/pGround
98 jmc 1.1 ENDDO
99 jmc 1.2 k=Nr+1
100     Katm = _KD2KA( k )
101     HSG(Katm) = rF(k)/pGround
102 jmc 1.1
103 jmc 1.12 _END_MASTER ( myThid )
104 jmc 1.1
105     C-- set default value for all atmos. physics parameter:
106 jmc 1.12 CALL INPHYS( HSG, myThid )
107 jmc 1.1
108 jmc 1.2 C-- Read AIM parameters (from file data.aimphys):
109     CALL AIM_READPARMS( myThid )
110    
111 jmc 1.1 C-- set energy fractions in LW bands as a function of temperature:
112     C initialize common block RADFIX (originally called from FORDATE in SPEEDY)
113 jmc 1.12 _BEGIN_MASTER(myThid )
114     CALL RADSET( myThid )
115     _END_MASTER ( myThid )
116 jmc 1.1
117 jmc 1.2 C-- Set truncSurfP : used to correct for truncation (because of hFacMin)
118     C of surface reference pressure Ro_surf that affects Surf.Temp.
119 jmc 1.4 CALL INI_P_GROUND(1, topoZ, truncSurfP, myThid )
120 jmc 1.2 DO bj = myByLo(myThid), myByHi(myThid)
121     DO bi = myBxLo(myThid), myBxHi(myThid)
122     DO j=1,sNy
123     DO i=1,sNx
124     tmpPgrnd = MIN(truncSurfP(i,j,bi,bj),atm_Po)
125 jmc 1.12 truncSurfP(i,j,bi,bj)=
126 jmc 1.2 & ( Ro_surf(i,j,bi,bj)/tmpPgrnd )**atm_kappa
127     ENDDO
128     ENDDO
129     IF (aim_useMMsurfFc .AND. aim_surfPotTemp) THEN
130     DO j=1,sNy
131     DO i=1,sNx
132     truncSurfP(i,j,bi,bj) =
133     & ( Ro_surf(i,j,bi,bj)/atm_Po )**atm_kappa
134     ENDDO
135     ENDDO
136     ENDIF
137     ENDDO
138     ENDDO
139 jmc 1.12
140 jmc 1.8 C-- Initialise Land Fraction (in AIM_FFIELDS.h):
141 jmc 1.1 DO bj = myByLo(myThid), myByHi(myThid)
142     DO bi = myBxLo(myThid), myBxHi(myThid)
143 jmc 1.8 DO j=1-Oly,sNy+Oly
144 jmc 1.12 DO i=1-Olx,sNx+Olx
145 jmc 1.8 aim_landFr (i,j,bi,bj) = 0.
146     ENDDO
147 jmc 1.3 ENDDO
148 jmc 1.1 ENDDO
149     ENDDO
150 jmc 1.8
151     IF ( aim_LandFile .NE. ' ' ) THEN
152 jmc 1.12 _BARRIER
153 jmc 1.8 CALL READ_REC_XY_RS(aim_LandFile,aim_landFr,1,nIter0,myThid)
154     ENDIF
155 jmc 1.1
156 edhill 1.9 #ifdef ALLOW_MNC
157     IF (useMNC) THEN
158     CALL AIM_MNC_INIT( myThid )
159     ENDIF
160     #endif /* ALLOW_MNC */
161    
162 molod 1.10 #ifdef ALLOW_DIAGNOSTICS
163 jmc 1.12 IF ( useDiagnostics ) THEN
164     CALL AIM_DIAGNOSTICS_INIT( myThid )
165     ENDIF
166 molod 1.10 #endif
167    
168 jmc 1.12 C-- Everyone else must wait for the parameters to be set
169     _BARRIER
170    
171 jmc 1.1 #endif /* ALLOW_AIM */
172    
173     RETURN
174     END

  ViewVC Help
Powered by ViewVC 1.1.22