/[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.25 - (show annotations) (download)
Fri Nov 15 03:01:21 2002 UTC (21 years, 6 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint47e_post, checkpoint47c_post, checkpoint50c_post, checkpoint48e_post, checkpoint50c_pre, checkpoint48i_post, checkpoint51, checkpoint50, checkpoint50d_post, checkpoint50b_pre, checkpoint51f_post, checkpoint48b_post, checkpoint51d_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint47a_post, checkpoint48d_pre, checkpoint51j_post, checkpoint47i_post, checkpoint47d_post, checkpoint48d_post, checkpoint48f_post, checkpoint48h_post, checkpoint51b_pre, checkpoint47g_post, checkpoint51h_pre, checkpoint48a_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint47j_post, branch-exfmods-tag, branchpoint-genmake2, checkpoint48c_post, checkpoint51i_post, checkpoint51b_post, checkpoint51c_post, checkpoint47b_post, checkpoint50g_post, checkpoint50h_post, checkpoint50e_pre, checkpoint50i_post, checkpoint51i_pre, checkpoint47f_post, checkpoint50e_post, checkpoint50d_pre, checkpoint51e_post, checkpoint47, checkpoint48, checkpoint49, checkpoint51f_pre, checkpoint48g_post, checkpoint47h_post, checkpoint51g_post, checkpoint50b_post, checkpoint51a_post
Branch point for: branch-exfmods-curt, branch-genmake2
Changes since 1.24: +1 -3 lines
differentiable version of checkpoint46n_post
o external_fields_load now part of differentiation list
o pressure needs multiple storing;
  would be nice to have store_pressure at beginning or
  end of forward_step, e.g. by having phiHyd global (5-dim.)
  (NB: pressure is needed for certain cases in find_rho,
  which is also invoked through convective_adjustment).
o recomputations in find_rho for cases
 'JMD95'/'UNESCO' or 'MDJWF' are OK.
o #define ATMOSPHERIC_LOADING should be differentiable
o ini_forcing shifted to begining of initialise_varia

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

  ViewVC Help
Powered by ViewVC 1.1.22