/[MITgcm]/MITgcm/model/src/ini_forcing.F
ViewVC logotype

Contents of /MITgcm/model/src/ini_forcing.F

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


Revision 1.31 - (show annotations) (download)
Thu Nov 13 06:35:14 2003 UTC (20 years, 6 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint52l_pre, hrcube4, hrcube5, checkpoint52d_pre, checkpoint52j_pre, checkpoint52l_post, checkpoint52k_post, checkpoint52f_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint52e_pre, checkpoint52e_post, checkpoint52b_pre, checkpoint52b_post, checkpoint52c_post, checkpoint52f_pre, checkpoint52d_post, checkpoint52i_post, checkpoint52h_pre, checkpoint52j_post, branch-netcdf, checkpoint52a_post
Branch point for: netcdf-sm0
Changes since 1.30: +2 -1 lines
o modifications to make FREEZE flux visible to pkg/kpp
  - moved surfaceTendencyTice from pkg/seaice to main code
  - FREEZE moved to FORWARD_STEP
  - subroutine FREEZE now limits only surface temperature
    this means new output.txt for global_ocean.90x40x15,
    global_ocean.cs32x15, and global_with_exf, but note
    that results for these three experiments remain
    bit-identical to before if allowFreezing=.FALSE.
o added surface flux output variables to TIMEAVE_STATVARS
o time-averaged output for pkg/ptracers

1 C $Header: /usr/local/gcmpack/MITgcm/model/src/ini_forcing.F,v 1.30 2003/11/01 04:50:02 edhill Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 CBOP
8 C !ROUTINE: INI_FORCING
9 C !INTERFACE:
10 SUBROUTINE INI_FORCING( myThid )
11
12 C !DESCRIPTION: \bv
13 C *==========================================================*
14 C | SUBROUTINE INI_FORCING
15 C | o Set model initial forcing fields.
16 C *==========================================================*
17 C \ev
18
19 C !USES:
20 IMPLICIT NONE
21 C === Global variables ===
22 #include "SIZE.h"
23 #include "EEPARAMS.h"
24 #include "PARAMS.h"
25 #include "GRID.h"
26 #include "FFIELDS.h"
27
28 C !INPUT/OUTPUT PARAMETERS:
29 C == Routine arguments ==
30 C myThid - Number of this instance of INI_FORCING
31 INTEGER myThid
32
33 C !LOCAL VARIABLES:
34 C == Local variables ==
35 C bi,bj - Loop counters
36 C I,J
37 INTEGER bi, bj
38 INTEGER I, J
39 CEOP
40
41 _BARRIER
42
43 DO bj = myByLo(myThid), myByHi(myThid)
44 DO bi = myBxLo(myThid), myBxHi(myThid)
45 DO j=1-OLy,sNy+OLy
46 DO i=1-OLx,sNx+OLx
47 fu (i,j,bi,bj) = 0. _d 0
48 fv (i,j,bi,bj) = 0. _d 0
49 Qnet (i,j,bi,bj) = 0. _d 0
50 EmPmR (i,j,bi,bj) = 0. _d 0
51 saltFlux (i,j,bi,bj) = 0. _d 0
52 SST (i,j,bi,bj) = 0. _d 0
53 SSS (i,j,bi,bj) = 0. _d 0
54 #ifdef SHORTWAVE_HEATING
55 Qsw (i,j,bi,bj) = 0. _d 0
56 #else
57 Qsw (1,1,1,1) = 0. _d 0
58 #endif
59 #ifdef ATMOSPHERIC_LOADING
60 pload (i,j,bi,bj) = 0. _d 0
61 #endif
62 surfaceTendencyU(i,j,bi,bj) = 0. _d 0
63 surfaceTendencyV(i,j,bi,bj) = 0. _d 0
64 surfaceTendencyT(i,j,bi,bj) = 0. _d 0
65 surfaceTendencyS(i,j,bi,bj) = 0. _d 0
66 surfaceTendencyTice(i,j,bi,bj) = 0. _d 0
67 #ifndef ALLOW_EXF
68 taux0 (i,j,bi,bj) = 0. _d 0
69 taux1 (i,j,bi,bj) = 0. _d 0
70 tauy0 (i,j,bi,bj) = 0. _d 0
71 tauy1 (i,j,bi,bj) = 0. _d 0
72 Qnet0 (i,j,bi,bj) = 0. _d 0
73 Qnet1 (i,j,bi,bj) = 0. _d 0
74 EmPmR0 (i,j,bi,bj) = 0. _d 0
75 EmPmR1 (i,j,bi,bj) = 0. _d 0
76 SST0 (i,j,bi,bj) = 0. _d 0
77 SST1 (i,j,bi,bj) = 0. _d 0
78 SSS0 (i,j,bi,bj) = 0. _d 0
79 SSS1 (i,j,bi,bj) = 0. _d 0
80 #ifdef SHORTWAVE_HEATING
81 Qsw0 (i,j,bi,bj) = 0. _d 0
82 Qsw1 (i,j,bi,bj) = 0. _d 0
83 #endif
84 #ifdef ATMOSPHERIC_LOADING
85 pload0 (i,j,bi,bj) = 0. _d 0
86 pload1 (i,j,bi,bj) = 0. _d 0
87 #endif
88 #endif
89 ENDDO
90 ENDDO
91 ENDDO
92 ENDDO
93 C
94 _BEGIN_MASTER(myThid)
95 IF ( zonalWindFile .NE. ' ' ) THEN
96 CALL READ_FLD_XY_RS( zonalWindFile, ' ', fu, 0, myThid )
97 ENDIF
98 IF ( meridWindFile .NE. ' ' ) THEN
99 CALL READ_FLD_XY_RS( meridWindFile, ' ', fv, 0, myThid )
100 ENDIF
101 IF ( surfQFile .NE. ' ' ) THEN
102 CALL READ_FLD_XY_RS( surfQFile, ' ', Qnet, 0, myThid )
103 ENDIF
104 IF ( EmPmRfile .NE. ' ' ) THEN
105 CALL READ_FLD_XY_RS( EmPmRfile, ' ', EmPmR, 0, myThid )
106 ENDIF
107 IF ( thetaClimFile .NE. ' ' ) THEN
108 CALL READ_FLD_XY_RS( thetaClimFile, ' ', SST, 0, myThid )
109 ENDIF
110 IF ( saltClimFile .NE. ' ' ) THEN
111 CALL READ_FLD_XY_RS( saltClimFile, ' ', SSS, 0, myThid )
112 ENDIF
113 #ifdef SHORTWAVE_HEATING
114 IF ( surfQswFile .NE. ' ' ) THEN
115 CALL READ_FLD_XY_RS( surfQswFile, ' ', Qsw, 0, myThid )
116 ENDIF
117 #endif
118 #ifdef ATMOSPHERIC_LOADING
119 IF ( pLoadFile .NE. ' ' ) THEN
120 CALL READ_FLD_XY_RS( pLoadFile, ' ', pload, 0, myThid )
121 ENDIF
122 #endif
123 _END_MASTER(myThid)
124 C
125 _EXCH_XY_R4(fu , myThid )
126 _EXCH_XY_R4(fv , myThid )
127 _EXCH_XY_R4(Qnet , myThid )
128 _EXCH_XY_R4(EmPmR, myThid )
129 _EXCH_XY_R4(SST , myThid )
130 _EXCH_XY_R4(SSS , myThid )
131 #ifdef SHORTWAVE_HEATING
132 _EXCH_XY_R4(Qsw , myThid )
133 #endif
134 #ifdef ATMOSPHERIC_LOADING
135 _EXCH_XY_R4(pload , myThid )
136 C CALL PLOT_FIELD_XYRS( pload, 'S/R INI_FORCING pload',1,myThid)
137 #endif
138
139 C CALL PLOT_FIELD_XYRS( fu, 'S/R INI_FORCING FU',1,myThid)
140 C CALL PLOT_FIELD_XYRS( fv, 'S/R INI_FORCING FV',1,myThid)
141
142 RETURN
143 END

  ViewVC Help
Powered by ViewVC 1.1.22