/[MITgcm]/MITgcm/pkg/ocn_compon_interf/cpl_diagnostics_fill.F
ViewVC logotype

Contents of /MITgcm/pkg/ocn_compon_interf/cpl_diagnostics_fill.F

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


Revision 1.1 - (show annotations) (download)
Wed Jan 6 00:36:34 2016 UTC (10 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65s, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, HEAD
- add diagnostics for all imported fields from coupler (in both OCN & ATM);
  this is entended to replace the OCN cplFldtave.* output files (not updated
  to contain new additional exchanged fields).

1 C $Header: /u/gcmpack/MITgcm/pkg/mypackage/mypackage_diagnostics_state.F,v 1.3 2011/08/08 14:55:55 jmc Exp $
2 C $Name: $
3
4 #include "OCN_CPL_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP 0
8 C !ROUTINE: CPL_DIAGNOSTICS_FILL
9
10 C !INTERFACE:
11 SUBROUTINE CPL_DIAGNOSTICS_FILL(
12 I myTime, myIter, myThid )
13
14 C !DESCRIPTION:
15 C Fill-in diagnostics array for OCN_CPL variables
16
17 C !USES:
18 IMPLICIT NONE
19 #include "SIZE.h"
20 #include "EEPARAMS.h"
21 #include "PARAMS.h"
22 #include "CPL_PARAMS.h"
23 #include "OCNCPL.h"
24
25 C !INPUT PARAMETERS:
26 C myTime :: Current time of simulation ( s )
27 C myIter :: Current iteration number in simulation
28 C myThid :: my Thread Id number
29 _RL myTime
30 INTEGER myIter, myThid
31 CEOP
32
33 #ifdef ALLOW_DIAGNOSTICS
34 C !FUNCTIONS:
35 #ifdef ALLOW_THSICE
36 LOGICAL DIAGNOSTICS_IS_ON
37 EXTERNAL DIAGNOSTICS_IS_ON
38 #endif /* ALLOW_THSICE */
39
40 C !LOCAL VARIABLES:
41 #ifdef ALLOW_THSICE
42 INTEGER bi,bj
43 INTEGER i,j
44 _RL tmpFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
45 _RL tmpFac
46 #endif /* ALLOW_THSICE */
47
48 IF ( useDiagnostics ) THEN
49
50 CALL DIAGNOSTICS_FILL( atmSLPr , 'CPL_SLPr',
51 I 0, 1, 0, 1, 1, myThid )
52 CALL DIAGNOSTICS_FILL( HeatFlux , 'CPL_Qnet',
53 I 0, 1, 0, 1, 1, myThid )
54 CALL DIAGNOSTICS_FILL( qShortWave, 'CPL_Qsw ',
55 I 0, 1, 0, 1, 1, myThid )
56 CALL DIAGNOSTICS_FILL( tauX , 'CPL_tauX',
57 I 0, 1, 0, 1, 1, myThid )
58 CALL DIAGNOSTICS_FILL( tauY , 'CPL_tauY',
59 I 0, 1, 0, 1, 1, myThid )
60 CALL DIAGNOSTICS_FILL( FWFlux , 'CPL_FWat',
61 I 0, 1, 0, 1, 1, myThid )
62 CALL DIAGNOSTICS_FILL( iceSaltFlx, 'CPL_sFlx',
63 I 0, 1, 0, 1, 1, myThid )
64 CALL DIAGNOSTICS_FILL( seaIceMass, 'CPL_iceM',
65 I 0, 1, 0, 1, 1, myThid )
66 #ifdef ALLOW_SALT_PLUME
67 IF ( ocn_cplExch_SaltPl ) THEN
68 CALL DIAGNOSTICS_FILL( saltPlmFlx_cpl, 'CPL_sPlm',
69 I 0, 1, 0, 1, 1, myThid )
70 ENDIF
71 #endif /* ALLOW_SALT_PLUME */
72 #ifdef ALLOW_DIC
73 IF ( ocn_cplExch_RunOff ) THEN
74 CALL DIAGNOSTICS_FILL( RunOff_cpl, 'CPL_RnOf',
75 I 0, 1, 0, 1, 1, myThid )
76 ENDIF
77 IF ( ocn_cplExch_DIC ) THEN
78 CALL DIAGNOSTICS_FILL( airCO2 , 'CPL_aCO2',
79 I 0, 1, 0, 1, 1, myThid )
80 CALL DIAGNOSTICS_FILL( surfWSpeed, 'CPL_wSpd',
81 I 0, 1, 0, 1, 1, myThid )
82 ENDIF
83 #endif /* ALLOW_DIC */
84 #if (defined ALLOW_DIC) || (defined ALLOW_THSICE)
85 IF ( ( ocn_cplExch1W_sIce.AND.ocn_cplExch_DIC )
86 & .OR. ocn_cplExch2W_sIce ) THEN
87 CALL DIAGNOSTICS_FILL( sIceFrac_cpl , 'CPL_icFr',
88 I 0, 1, 0, 1, 1, myThid )
89 ENDIF
90 #endif /* ALLOW_DIC or ALLOW_THSICE */
91 #ifdef ALLOW_THSICE
92 IF ( ocn_cplExch2W_sIce ) THEN
93 C Ice-fraction weighted quantities:
94 tmpFac = 1. _d 0
95 CALL DIAGNOSTICS_FRACT_FILL(
96 I sIceThick_cpl, sIceFrac_cpl,
97 I tmpFac, 1, 'CPL_iceH',
98 I 0, 1, 0, 1, 1, myThid )
99 CALL DIAGNOSTICS_FRACT_FILL(
100 I sIceSnowH_cpl, sIceFrac_cpl,
101 I tmpFac, 1, 'CPL_snwH',
102 I 0, 1, 0, 1, 1, myThid )
103
104 C Ice-Volume weighted quantities:
105 IF ( DIAGNOSTICS_IS_ON('CPL_Qic1',myThid) .OR.
106 & DIAGNOSTICS_IS_ON('CPL_Qic2',myThid) ) THEN
107 DO bj=myByLo(myThid),myByHi(myThid)
108 DO bi=myBxLo(myThid),myBxHi(myThid)
109
110 DO j=1-OLy,sNy+OLy
111 DO i=1-OLx,sNx+OLx
112 tmpFld(i,j) = sIceFrac_cpl(i,j,bi,bj)
113 & * sIceThick_cpl(i,j,bi,bj)
114 ENDDO
115 ENDDO
116 CALL DIAGNOSTICS_FRACT_FILL(
117 I sIceQ1_cpl(1-OLx,1-OLy,bi,bj),
118 I tmpFld, tmpFac, 1, 'CPL_Qic1',
119 I 0, 1, 2,bi,bj, myThid )
120 CALL DIAGNOSTICS_FRACT_FILL(
121 I sIceQ2_cpl(1-OLx,1-OLy,bi,bj),
122 I tmpFld, tmpFac, 1, 'CPL_Qic2',
123 I 0, 1, 2,bi,bj, myThid )
124
125 ENDDO
126 ENDDO
127 ENDIF
128
129 ENDIF
130 #endif /* ALLOW_THSICE */
131
132 ENDIF
133
134 #endif /* ALLOW_DIAGNOSTICS */
135 RETURN
136 END

  ViewVC Help
Powered by ViewVC 1.1.22