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

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

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


Revision 1.25 - (hide 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 heimbach 1.25 C $Header: /u/gcmpack/MITgcm/model/src/ini_forcing.F,v 1.24 2002/11/12 20:39:46 heimbach Exp $
2 cnh 1.22 C $Name: $
3 cnh 1.1
4 cnh 1.12 #include "CPP_OPTIONS.h"
5 cnh 1.1
6 cnh 1.22 CBOP
7     C !ROUTINE: INI_FORCING
8     C !INTERFACE:
9 cnh 1.1 SUBROUTINE INI_FORCING( myThid )
10 cnh 1.22
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 adcroft 1.14 IMPLICIT NONE
20 cnh 1.1 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 cnh 1.22 C !INPUT/OUTPUT PARAMETERS:
28 cnh 1.1 C == Routine arguments ==
29     C myThid - Number of this instance of INI_FORCING
30     INTEGER myThid
31    
32 cnh 1.22 C !LOCAL VARIABLES:
33 cnh 1.1 C == Local variables ==
34     C bi,bj - Loop counters
35 adcroft 1.17 C I,J
36 cnh 1.1 INTEGER bi, bj
37 adcroft 1.17 INTEGER I, J
38 cnh 1.22 CEOP
39 cnh 1.1
40 cnh 1.6 _BARRIER
41    
42 adcroft 1.10 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 heimbach 1.18 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 mlosch 1.23 #ifdef SHORTWAVE_HEATING
53 heimbach 1.18 Qsw (i,j,bi,bj) = 0. _d 0
54 mlosch 1.23 #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 heimbach 1.18 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 heimbach 1.24 #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 adcroft 1.10 ENDDO
87     ENDDO
88     ENDDO
89     ENDDO
90 adcroft 1.15 C
91 adcroft 1.16 _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 heimbach 1.18 #ifdef SHORTWAVE_HEATING
111     IF ( surfQswFile .NE. ' ' ) THEN
112     CALL READ_FLD_XY_RS( surfQswFile, ' ', Qsw, 0, myThid )
113     ENDIF
114     #endif
115 mlosch 1.23 #ifdef ATMOSPHERIC_LOADING
116     IF ( pLoadFile .NE. ' ' ) THEN
117     CALL READ_FLD_XY_RS( pLoadFile, ' ', pload, 0, myThid )
118     ENDIF
119     #endif
120 adcroft 1.16 _END_MASTER(myThid)
121     C
122 adcroft 1.15 _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 mlosch 1.23 #ifdef SHORTWAVE_HEATING
129 adcroft 1.16 _EXCH_XY_R4(Qsw , myThid )
130 mlosch 1.23 #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 adcroft 1.10
136 adcroft 1.15 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 cnh 1.1
139     RETURN
140     END

  ViewVC Help
Powered by ViewVC 1.1.22