/[MITgcm]/MITgcm/pkg/dic/dic_ini_forcing.F
ViewVC logotype

Contents of /MITgcm/pkg/dic/dic_ini_forcing.F

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


Revision 1.19 - (show annotations) (download)
Tue Apr 28 18:10:47 2009 UTC (15 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint61n, checkpoint61o, checkpoint61m, checkpoint61v, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q
Changes since 1.18: +13 -13 lines
change macros (EXCH & GLOBAL_SUM/MAX) sufix _R4/_R8 to _RS/_RL
 when applied to _RS/_RL variable

1 C $Header: /u/gcmpack/MITgcm/pkg/dic/dic_ini_forcing.F,v 1.18 2008/04/24 21:35:53 gforget Exp $
2 C $Name: $
3
4 #include "DIC_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: DIC_INI_FORCING
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE DIC_INI_FORCING( myThid )
11
12 C !DESCRIPTION:
13 c initializes forcing fields to zero
14 c (or to reasonable values)
15
16 C !USES: ===============================================================
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "DYNVARS.h"
20 #include "EEPARAMS.h"
21 #include "PARAMS.h"
22 #include "GRID.h"
23 #include "DIC_VARS.h"
24 #include "DIC_LOAD.h"
25
26 C !INPUT PARAMETERS: ===================================================
27 C myThid :: thread number
28 INTEGER myThid
29 CEOP
30
31 #ifdef ALLOW_PTRACERS
32
33 c !LOCAL VARIABLES: ===================================================
34 INTEGER bi,bj,i,j
35 CHARACTER*(MAX_LEN_MBUF) msgBuf
36 c
37 C First call requires that we initialize everything to zero for safety
38 CALL LEF_ZERO( dicwind0,myThid )
39 CALL LEF_ZERO( dicwind1,myThid )
40 CALL LEF_ZERO( atmosp0,myThid )
41 CALL LEF_ZERO( atmosp1,myThid )
42 CALL LEF_ZERO( silica0,myThid )
43 CALL LEF_ZERO( silica1,myThid )
44 CALL LEF_ZERO( ice0,myThid )
45 CALL LEF_ZERO( ice1,myThid )
46 #ifdef READ_PAR
47 CALL LEF_ZERO( par0,myThid )
48 CALL LEF_ZERO( par1,myThid )
49 #endif
50 # ifdef ALLOW_FE
51 CALL LEF_ZERO( feinput0,myThid )
52 CALL LEF_ZERO( feinput1,myThid )
53 # endif
54
55 _EXCH_XY_RS(dicwind0, myThid )
56 _EXCH_XY_RS(dicwind1, myThid )
57 _EXCH_XY_RS(atmosp0, myThid )
58 _EXCH_XY_RS(atmosp1, myThid )
59 _EXCH_XY_RS(silica0, myThid )
60 _EXCH_XY_RS(silica1, myThid )
61 _EXCH_XY_RS(ice0, myThid )
62 _EXCH_XY_RS(ice1, myThid )
63 #ifdef READ_PAR
64 _EXCH_XY_RS(par0, myThid )
65 _EXCH_XY_RS(par1, myThid )
66 #endif
67 # ifdef ALLOW_FE
68 _EXCH_XY_RS(feinput0, myThid )
69 _EXCH_XY_RS(feinput1, myThid )
70 # endif
71
72 #ifdef READ_PAR
73 #ifdef USE_QSW
74 WRITE(msgBuf,'(2A)')
75 & ' DIC_INI_FORCING: You can not use READ_PAR ',
76 & ' and USE_QSW'
77 CALL PRINT_ERROR( msgBuf, myThid )
78 STOP 'ABNORMAL END: S/R DIC_INI_FORCING'
79 #endif
80 #endif
81
82 c set reasonable values to those that need at least something
83 DO bj = myByLo(myThid), myByHi(myThid)
84 DO bi = myBxLo(myThid), myBxHi(myThid)
85 DO j=1-Oly,sNy+Oly
86 DO i=1-Olx,sNx+Olx
87 WIND(i,j,bi,bj) = 5. _d 0*maskC(i,j,1,bi,bj)
88 AtmosP(i,j,bi,bj) = 1. _d 0*maskC(i,j,1,bi,bj)
89 SILICA(i,j,bi,bj) = 7.6838 _d -3*maskC(i,j,1,bi,bj)
90 FIce(i,j,bi,bj) = 0. _d 0
91 #ifdef READ_PAR
92 PAR(i,j,bi,bj) = 100. _d 0*maskC(i,j,1,bi,bj)
93 #endif
94 #ifdef ALLOW_FE
95 InputFe(i,j,bi,bj)= 1. _d -11*maskC(i,j,1,bi,bj)
96 #endif
97 ENDDO
98 ENDDO
99 ENDDO
100 ENDDO
101
102
103 #endif
104 RETURN
105 END

  ViewVC Help
Powered by ViewVC 1.1.22