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

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

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

revision 1.3 by jmc, Tue Jul 13 18:03:31 2004 UTC revision 1.14 by dfer, Fri Apr 4 21:37:06 2008 UTC
# Line 12  C !INTERFACE: ========================== Line 12  C !INTERFACE: ==========================
12    
13  C !DESCRIPTION:  C !DESCRIPTION:
14  c initializes forcing fields to zero  c initializes forcing fields to zero
15    c (or to reasonable values)
16    
17  C !USES: ===============================================================  C !USES: ===============================================================
18        IMPLICIT NONE        IMPLICIT NONE
# Line 20  C !USES: =============================== Line 21  C !USES: ===============================
21  #include "EEPARAMS.h"  #include "EEPARAMS.h"
22  #include "PARAMS.h"  #include "PARAMS.h"
23  #include "GRID.h"  #include "GRID.h"
24  #include "PTRACERS_SIZE.h"  c#include "PTRACERS_SIZE.h"
25  #include "PTRACERS.h"  c#include "PTRACERS_PARAMS.h"
26    c#include "PTRACERS_FIELDS.h"
27  #include "GCHEM.h"  #include "GCHEM.h"
28  #include "DIC_ABIOTIC.h"  #include "DIC_VARS.h"
 #ifdef DIC_BIOTIC  
 #include "DIC_BIOTIC.h"  
29  #include "DIC_LOAD.h"  #include "DIC_LOAD.h"
 #endif  
30    
31  C !INPUT PARAMETERS: ===================================================  C !INPUT PARAMETERS: ===================================================
32  C  myThid               :: thread number  C  myThid               :: thread number
# Line 35  C  myThid               :: thread number Line 34  C  myThid               :: thread number
34  CEOP  CEOP
35    
36  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
37    
38    c !LOCAL VARIABLES: ===================================================
39           INTEGER bi,bj,i,j
40           CHARACTER*(MAX_LEN_MBUF) msgBuf
41  c  c
42  C First call requires that we initialize everything to zero for safety  C First call requires that we initialize everything to zero for safety
43        CALL LEF_ZERO( wspeed0,myThid )        CALL LEF_ZERO( wspeed0,myThid )
# Line 45  C First call requires that we initialize Line 48  C First call requires that we initialize
48        CALL LEF_ZERO( silica1,myThid )        CALL LEF_ZERO( silica1,myThid )
49        CALL LEF_ZERO( ice0,myThid )        CALL LEF_ZERO( ice0,myThid )
50        CALL LEF_ZERO( ice1,myThid )        CALL LEF_ZERO( ice1,myThid )
51    #ifdef READ_PAR
52          CALL LEF_ZERO( par0,myThid )
53          CALL LEF_ZERO( par1,myThid )
54    #endif
55  # ifdef ALLOW_FE  # ifdef ALLOW_FE
56        CALL LEF_ZERO( feinput0,myThid )        CALL LEF_ZERO( feinput0,myThid )
57        CALL LEF_ZERO( feinput1,myThid )        CALL LEF_ZERO( feinput1,myThid )
# Line 58  C First call requires that we initialize Line 65  C First call requires that we initialize
65         _EXCH_XY_R4(silica1, myThid )         _EXCH_XY_R4(silica1, myThid )
66         _EXCH_XY_R4(ice0, myThid )         _EXCH_XY_R4(ice0, myThid )
67         _EXCH_XY_R4(ice1, myThid )         _EXCH_XY_R4(ice1, myThid )
68    #ifdef READ_PAR
69           _EXCH_XY_R4(par0, myThid )
70           _EXCH_XY_R4(par1, myThid )
71    #endif
72  # ifdef ALLOW_FE  # ifdef ALLOW_FE
73         _EXCH_XY_R4(feinput0, myThid )         _EXCH_XY_R4(feinput0, myThid )
74         _EXCH_XY_R4(feinput1, myThid )         _EXCH_XY_R4(feinput1, myThid )
75  # endif  # endif
76    
77    #ifdef READ_PAR
78    #ifdef USE_QSW
79            WRITE(msgBuf,'(2A)')
80         &       ' DIC_INI_FORCING: You can not use READ_PAR ',
81         &       ' and USE_QSW'
82            CALL PRINT_ERROR( msgBuf, myThid )
83            STOP 'ABNORMAL END: S/R DIC_INI_FORCING'
84    #endif
85    #endif
86    
87    #ifdef DIC_BIOTIC
88              QSW_underice=.FALSE.
89    #ifdef USE_QSW_UNDERICE
90              QSW_underice=.TRUE.
91    #elif (defined (ALLOW_SEAICE) && defined (USE_QSW))
92    c if using Qsw and seaice, then ice fraction is already
93    c taken into account
94              QSW_underice=.TRUE.
95    #elif (defined (ALLOW_THSICE) && defined (USE_QSW))
96              QSW_underice=.TRUE.
97    #endif
98    #endif
99    
100    c set reasonable values to those that need at least something
101           DO bj = myByLo(myThid), myByHi(myThid)
102            DO bi = myBxLo(myThid), myBxHi(myThid)
103             DO j=1-Oly,sNy+Oly
104              DO i=1-Olx,sNx+Olx
105                 WIND(i,j,bi,bj)   = 5. _d 0*maskC(i,j,1,bi,bj)
106                 AtmosP(i,j,bi,bj) = 1. _d 0*maskC(i,j,1,bi,bj)
107                 SILICA(i,j,bi,bj) = 7.6838 _d -3*maskC(i,j,1,bi,bj)
108                 FIce(i,j,bi,bj)   = 0. _d 0
109    #ifdef READ_PAR
110                 PAR(i,j,bi,bj)    = 100. _d 0*maskC(i,j,1,bi,bj)
111    #endif
112    #ifdef ALLOW_FE
113                 InputFe(i,j,bi,bj)= 1. _d -11*maskC(i,j,1,bi,bj)
114    #endif
115              ENDDO
116             ENDDO
117            ENDDO
118           ENDDO
119    
120    
121  #endif  #endif
122        RETURN        RETURN
123        END        END

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.22