/[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.6 - (show annotations) (download)
Tue May 1 22:51:12 2007 UTC (17 years, 1 month ago) by stephd
Branch: MAIN
Changes since 1.5: +12 -1 lines
o add compile time flag (PAR_FROMSW) so that PAR needed in dic code
  is taken from Qsw (rather than insol algorithm or read from file).
  Also add some stop statements if silly combinations are attempted.

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

  ViewVC Help
Powered by ViewVC 1.1.22