*IF DEF,MPP,AND,DEF,OCEAN OSWAPDIA.2
C *****************************COPYRIGHT****************************** OSWAPDIA.3
C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved. OSWAPDIA.4
C OSWAPDIA.5
C Use, duplication or disclosure of this code is subject to the OSWAPDIA.6
C restrictions as set forth in the contract. OSWAPDIA.7
C OSWAPDIA.8
C Meteorological Office OSWAPDIA.9
C London Road OSWAPDIA.10
C BRACKNELL OSWAPDIA.11
C Berkshire UK OSWAPDIA.12
C RG12 2SZ OSWAPDIA.13
C OSWAPDIA.14
C If no contract has been raised with this copy of the code, the use, OSWAPDIA.15
C duplication or disclosure of it is strictly prohibited. Permission OSWAPDIA.16
C to do so must first be obtained in writing from the Head of Numerical OSWAPDIA.17
C Modelling at the above address. OSWAPDIA.18
C ******************************COPYRIGHT****************************** OSWAPDIA.19
SUBROUTINE OSWAPDIAGS( 1,84OSWAPDIA.20
& L_ICEFREEDR,L_ICESIMPLE,L_OHANEY,L_SEAICE,L_IHANEY,L_OBIOLOGY ODC1F405.412
&,L_OQLARGE,L_OFULARGE,IMT,SWNCOL,JMT,JMTM1,KM,KMM1 OOM1F405.715
&,O_EW_HALO,O_NS_HALO OSWAPDIA.23
*CALL ARGOC3DG
OSWAPDIA.24
&,UCURRENT,VCURRENT,CARYSALT,OCEANHEATFLUX OOM1F405.716
&,SFUTOT,SFVTOT OSWAPDIA.26
&,UTOT,VTOT OSWAPDIA.27
&,SF_ZN,SWZUN,SWZVN OSWAPDIA.28
&,sf201_30,sf202_30,sf203_30,sf204_30,sf205_30,sf208_30,sf248_30 OSWAPDIA.29
&,sf249_30,sf250_30,sf251_30 OSWAPDIA.30
&,SW201_30,SW202_30,SW203_30,SW204_30,SW205_30,SW208_30,SW248_30 OSWAPDIA.31
&,SW249_30,SW250_30,SW251_30 OSWAPDIA.32
&,sf_dt OSWAPDIA.33
&,DTXADV,DTYADV,DTZADV,DTXDIFF,DTYDIFF,DTZDIFF,DTSFC,DTPEN OSWAPDIA.34
&,DTICE,DTMIX,DTCNVC,DTZ,DTFF,DTMED OSWAPDIA.35
&,sf_DS OSWAPDIA.36
&,DSXADV,DSYADV,DSZADV,DSXDIFF,DSYDIFF,DSZDIFF,DSSFC,DSICE OSWAPDIA.37
&,DSMIX,DSCNVC,DSZ,DSFF,DSMED OSWAPDIA.38
&,sf_bio OSWAPDIA.39
&,PRIM_PROD,ZOO_PROD,PHYTO_GROW,PHYTO_GRAZE,PHYTO_MORT OSWAPDIA.40
&,EXCRETE_NUT,GROW_NUT,PMORT_NUT,ZMORT_NUT OSWAPDIA.41
&,PRESP_NUT,REMIN_NUT,NUT_LIMIT,LIGHT_LIMIT,TEMP_LIMIT,DETRI_FLUX OSWAPDIA.42
&,NUT_FLUX,HADV_NUT,VADV_NUT,HDIF_NUT,VDIF_NUT,MIX_NUT,CNVC_NUT OSWAPDIA.43
&,BIO_NUT,FIX_NUT,HADV_PHY,HADV_ZOO,HADV_DET OSWAPDIA.44
&) OSWAPDIA.45
OSWAPDIA.46
! OSWAPDIA.47
! Description: This subroutine handles the calls to swapbounds OSWAPDIA.48
! for diagnostics which would otherwise be performed OSWAPDIA.49
! in ROWCALC. The main purpose of this routine is to OSWAPDIA.50
! minimise and modularise ROWCALC. OSWAPDIA.51
! OSWAPDIA.52
! Author: R. Hill OSWAPDIA.53
! OSWAPDIA.54
! Date: September 1997 OSWAPDIA.55
! OSWAPDIA.56
! Modification History OSWAPDIA.57
! OSWAPDIA.58
! Date Name Description OSWAPDIA.59
! ------ ---------- ------------------------------------------ OSWAPDIA.60
! OSWAPDIA.61
!################################################################### OSWAPDIA.62
OSWAPDIA.63
IMPLICIT NONE OSWAPDIA.64
OSWAPDIA.65
!------------------------------------------------------------------- OSWAPDIA.66
! Incoming variables: IN only. OSWAPDIA.67
!------------------------------------------------------------------- OSWAPDIA.68
LOGICAL L_ICEFREEDR,L_ICESIMPLE,L_OHANEY,L_IHANEY, ODC1F405.413
& L_SEAICE,L_OBIOLOGY ODC1F405.414
& ,L_OQLARGE,L_OFULARGE,SFUTOT,SFVTOT,SF_ZN(2) OOM1F405.717
& ,sf201_30,sf202_30,sf203_30,sf204_30,sf205_30,sf208_30 OSWAPDIA.71
& ,sf248_30,sf249_30,sf250_30,sf251_30 OSWAPDIA.72
& ,sf_dt(*),sf_ds(*),sf_bio(*) OSWAPDIA.73
OSWAPDIA.74
INTEGER IMT OSWAPDIA.75
& ,SWNCOL OSWAPDIA.76
& ,JMT OSWAPDIA.77
& ,JMTM1 OSWAPDIA.78
& ,KM OSWAPDIA.79
& ,KMM1 OSWAPDIA.80
& ,O_EW_HALO,O_NS_HALO OSWAPDIA.81
*CALL OARRYSIZ
OSWAPDIA.82
OSWAPDIA.83
!----------------------------------------------------------------------- OSWAPDIA.84
! All real arrays are of IN/OUT type. OSWAPDIA.85
!----------------------------------------------------------------------- OSWAPDIA.86
*CALL TYPOC3DG
OSWAPDIA.87
OSWAPDIA.88
REAL CARYSALT(IMT,JMT),OCEANHEATFLUX(IMT,JMT) OOM1F405.718
REAL UCURRENT(IMT_drsa,JMTM1_drsa), ODC1F405.415
& VCURRENT(IMT_drsa,JMTM1_drsa) ODC1F405.416
&,UTOT(imt_stash,jmt,km),VTOT(imt_stash,jmt,km) OSWAPDIA.90
&,SWZUN(SWNCOL_CLN,JMT_CLN),SWZVN(SWNCOL_CLN,JMT_CLN) OSWAPDIA.91
&,sw201_30(SWNCOL,JMT,KMM1) ! stash workspace for vertical velocity OSWAPDIA.92
&,sw202_30(SWNCOL,JMT) ! mixed layer depth OSWAPDIA.93
&,sw203_30(SWNCOL,JMT) ! anomalous heat flux OSWAPDIA.94
&,sw204_30(SWNCOL,JMT) ! anomalous water flux OSWAPDIA.95
&,sw205_30(SWNCOL,JMT) ! anomalous sea ice heat flux OSWAPDIA.96
&,sw208_30(SWNCOL,JMT) ! caryheat heat flux (W/m2) OSWAPDIA.97
&,sw248_30(ICOL_CYC,JMT) ! stash workspace for PCO2 OSWAPDIA.98
&,sw249_30(ICOL_CYC,JMT) ! stash workspace for CO2 flux OSWAPDIA.99
&,sw250_30(ICOL_CYC,JMT) ! stash workspace for invasion OSWAPDIA.100
&,sw251_30(ICOL_CYC,JMT) ! stash workspace for evasion OSWAPDIA.101
&,DTXADV(*),DTYADV(*),DTZADV(*),DTXDIFF(*),DTYDIFF(*),DTZDIFF(*) OSWAPDIA.102
&,DTSFC(*),DTPEN(*),DTICE(*),DTMIX(*),DTCNVC(*),DTZ(*),DTFF(*) OSWAPDIA.103
&,DTMED(*) OSWAPDIA.104
&,DSXADV(*),DSYADV(*),DSZADV(*),DSXDIFF(*),DSYDIFF(*),DSZDIFF(*) OSWAPDIA.105
&,DSSFC(*),DSICE(*),DSMIX(*),DSCNVC(*),DSZ(*),DSFF(*),DSMED(*) OSWAPDIA.106
OSWAPDIA.107
!==================================================================== OSWAPDIA.108
! BIOLOGY DIAGNOSTICS OSWAPDIA.109
!==================================================================== OSWAPDIA.110
! Integrated production OSWAPDIA.111
REAL PRIM_PROD(SWNCOL_BIO,JMT_BIO) ! Primary production (gross) OSWAPDIA.112
! ! (gC/m2/day) -Integrated over top 200m OSWAPDIA.113
REAL ZOO_PROD(SWNCOL_BIO,JMT_BIO) ! Zooplankton OSWAPDIA.114
! ! production (gross) Totalled over top 200m (gC/m2/day) OSWAPDIA.115
! Growth limitation terms OSWAPDIA.116
REAL NUT_LIMIT(SWNCOL_BIO,JMT_BIO,KM_BIO) ! Phytoplnktn growth OSWAPDIA.117
REAL LIGHT_LIMIT(SWNCOL_BIO,JMT_BIO,KM_BIO) ! limitation terms OSWAPDIA.118
REAL TEMP_LIMIT(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.119
OSWAPDIA.120
! Phyto specific rates OSWAPDIA.121
REAL PHYTO_GROW (SWNCOL_BIO,JMT_BIO,KM_BIO) ! Phyto growth OSWAPDIA.122
! ! specific rate OSWAPDIA.123
REAL PHYTO_GRAZE(SWNCOL_BIO,JMT_BIO,KM_BIO) ! Phyto grazing OSWAPDIA.124
! ! specific rate OSWAPDIA.125
REAL PHYTO_MORT (SWNCOL_BIO,JMT_BIO,KM_BIO) ! Phyto mortality OSWAPDIA.126
& ! spec. rate OSWAPDIA.127
! ! Specific rates in (day)-1 OSWAPDIA.128
! Detrital sinking OSWAPDIA.129
REAL DETRI_FLUX (SWNCOL_BIO,JMT_BIO,KM_BIO) ! Detrital sinking OSWAPDIA.130
! flux through OSWAPDIA.131
! base of layer (mMol-N/m2/day). OSWAPDIA.132
OSWAPDIA.133
! Terms in Nitrate balance (all in units mMol-N/m3/day) OSWAPDIA.134
REAL EXCRETE_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.135
! ! Nutrient excretion rate OSWAPDIA.136
& ,GROW_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.137
! ! Loss rate of N due to phyto OSWAPDIA.138
& ,PMORT_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.139
! ! Gain due to phyto death OSWAPDIA.140
& ,ZMORT_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.141
! ! Gain due to zoo death OSWAPDIA.142
& ,PRESP_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.143
! ! Gain due to phyto resp OSWAPDIA.144
& ,REMIN_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.145
! Gain due to detrtus remin. OSWAPDIA.146
& ,NUT_FLUX(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.147
OSWAPDIA.148
! Rate of change of Nitrate due to physical processes OSWAPDIA.149
! (units: mMols-N/m3/day) OSWAPDIA.150
REAL HADV_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) ! Horizontal advection OSWAPDIA.151
& ,VADV_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) ! Vertical advection OSWAPDIA.152
& ,HDIF_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) ! Horizontal diffusion OSWAPDIA.153
& ,VDIF_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) ! Vertical diffusion OSWAPDIA.154
& ,MIX_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) ! Mixed layer model OSWAPDIA.155
& ,CNVC_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) ! Convection OSWAPDIA.156
& ,BIO_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) ! BIOLOGICL MODEL (net) OSWAPDIA.157
& ,FIX_NUT(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.158
! Reset of Nitrates from neg. values OSWAPDIA.159
OSWAPDIA.160
! Rate of change of Phyto,Zoo & Detritus due to horiz advection OSWAPDIA.161
! (units: mMols-N/m3/day) OSWAPDIA.162
REAL HADV_PHY(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.163
& ,HADV_ZOO(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.164
& ,HADV_DET(SWNCOL_BIO,JMT_BIO,KM_BIO) OSWAPDIA.165
OSWAPDIA.166
OSWAPDIA.167
!--------------------------------------------------------------- OSWAPDIA.168
! Test each logical in turn and swap halos as required OSWAPDIA.169
!--------------------------------------------------------------- OSWAPDIA.170
OSWAPDIA.171
IF (SF_GNUM) THEN OOM1F405.719
CALL SWAPBOUNDS
(GNUM_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KMM1) OOM1F405.720
ENDIF OOM1F405.721
IF (SF_GNUT) THEN OOM1F405.722
CALL SWAPBOUNDS
(GNUT_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KMM1) OOM1F405.723
ENDIF OOM1F405.724
IF (SF_RIM) THEN OOM1F405.725
CALL SWAPBOUNDS
(RIM_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KMM1) OOM1F405.726
ENDIF OOM1F405.727
IF (SF_RIT) THEN OOM1F405.728
CALL SWAPBOUNDS
(RIT_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KMM1) OOM1F405.729
ENDIF OOM1F405.730
C OOM1F405.731
IF(L_OQLARGE.OR.L_OFULARGE)THEN OOM1F405.732
IF (SF_HM) THEN OOM1F405.733
CALL SWAPBOUNDS
(HM_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OOM1F405.734
ENDIF OOM1F405.735
IF (SF_HT) THEN OOM1F405.736
CALL SWAPBOUNDS
(HT_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OOM1F405.737
ENDIF OOM1F405.738
ENDIF ! L_OQLARGE or L_OFULARGE OOM1F405.739
C OOM1F405.740
CALL SWAPBOUNDS
(CARYSALT,IMT,JMT,O_EW_HALO,O_NS_HALO,1) OOM1F405.741
CALL SWAPBOUNDS
(OCEANHEATFLUX,IMT,JMT,O_EW_HALO,O_NS_HALO,1) OOM1F405.742
OSWAPDIA.172
IF (L_ICEFREEDR.OR.L_ICESIMPLE) THEN ODC1F405.417
OSWAPDIA.174
CALL SWAPBOUNDS
(UCURRENT,IMT,JMTM1,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.175
CALL SWAPBOUNDS
(VCURRENT,IMT,JMTM1,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.176
OSWAPDIA.177
ENDIF OSWAPDIA.178
OSWAPDIA.179
IF (SFUTOT) THEN OSWAPDIA.180
CALL SWAPBOUNDS
(UTOT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.181
ENDIF OSWAPDIA.182
OSWAPDIA.183
IF (SFVTOT) THEN OSWAPDIA.184
CALL SWAPBOUNDS
(VTOT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.185
ENDIF OSWAPDIA.186
OSWAPDIA.187
IF (SF_ZN(1)) THEN OSWAPDIA.188
CALL SWAPBOUNDS
(SWZUN,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.189
ENDIF OSWAPDIA.190
OSWAPDIA.191
IF (SF_ZN(2)) THEN OSWAPDIA.192
CALL SWAPBOUNDS
(SWZVN,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.193
ENDIF OSWAPDIA.194
OSWAPDIA.195
OSWAPDIA.196
IF (SF_UISOP) THEN OSWAPDIA.197
CALL SWAPBOUNDS
(UISOP_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.198
ENDIF OSWAPDIA.199
OSWAPDIA.200
IF (SF_VISOP) THEN OSWAPDIA.201
CALL SWAPBOUNDS
(VISOPN_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.202
ENDIF OSWAPDIA.203
OSWAPDIA.204
IF (SF_WISOP) THEN OSWAPDIA.205
CALL SWAPBOUNDS
OSWAPDIA.206
& (WISOP_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KMM1) OSWAPDIA.207
ENDIF OSWAPDIA.208
OSWAPDIA.209
IF (SF_DTGM) THEN OSWAPDIA.210
CALL SWAPBOUNDS
(DTGM_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.211
ENDIF OSWAPDIA.212
OSWAPDIA.213
IF (SFRC) THEN OSWAPDIA.214
CALL SWAPBOUNDS
(DTRC,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.215
ENDIF OSWAPDIA.216
OSWAPDIA.217
IF (sf201_30) THEN OSWAPDIA.218
CALL SWAPBOUNDS
(SW201_30,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KMM1) OSWAPDIA.219
ENDIF OSWAPDIA.220
OSWAPDIA.221
IF (sf202_30) THEN OSWAPDIA.222
CALL SWAPBOUNDS
(SW202_30,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.223
ENDIF OSWAPDIA.224
OSWAPDIA.225
IF (L_OHANEY) THEN OSWAPDIA.226
OSWAPDIA.227
IF (sf203_30) THEN OSWAPDIA.228
CALL SWAPBOUNDS
(SW203_30,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.229
ENDIF OSWAPDIA.230
OSWAPDIA.231
IF (sf204_30) THEN OSWAPDIA.232
CALL SWAPBOUNDS
(SW204_30,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.233
ENDIF OSWAPDIA.234
ENDIF OSWAPDIA.235
OSWAPDIA.236
IF (L_SEAICE) THEN OSWAPDIA.237
OSWAPDIA.238
IF (L_IHANEY) THEN OSWAPDIA.239
OSWAPDIA.240
IF (sf205_30) THEN OSWAPDIA.241
CALL SWAPBOUNDS
(SW205_30,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.242
ENDIF OSWAPDIA.243
OSWAPDIA.244
ENDIF OSWAPDIA.245
OSWAPDIA.246
IF (sf208_30) THEN OSWAPDIA.247
CALL SWAPBOUNDS
(SW208_30,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.248
ENDIF OSWAPDIA.249
OSWAPDIA.250
ENDIF OSWAPDIA.251
OSWAPDIA.252
IF (sf248_30) THEN OSWAPDIA.253
CALL SWAPBOUNDS
(SW248_30,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.254
ENDIF OSWAPDIA.255
OSWAPDIA.256
IF (sf249_30) THEN OSWAPDIA.257
CALL SWAPBOUNDS
(SW249_30,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.258
ENDIF OSWAPDIA.259
OSWAPDIA.260
IF (sf250_30) THEN OSWAPDIA.261
CALL SWAPBOUNDS
(SW250_30,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.262
ENDIF OSWAPDIA.263
OSWAPDIA.264
IF (sf251_30) THEN OSWAPDIA.265
CALL SWAPBOUNDS
(SW251_30,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.266
ENDIF OSWAPDIA.267
OSWAPDIA.268
IF (sf_dt(1)) THEN OSWAPDIA.269
CALL SWAPBOUNDS
(DTXADV,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.270
ENDIF OSWAPDIA.271
IF (sf_dt(2)) THEN OSWAPDIA.272
CALL SWAPBOUNDS
(DTYADV,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.273
ENDIF OSWAPDIA.274
IF (sf_dt(3)) THEN OSWAPDIA.275
CALL SWAPBOUNDS
(DTZADV,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.276
ENDIF OSWAPDIA.277
IF (sf_dt(4)) THEN OSWAPDIA.278
CALL SWAPBOUNDS
(DTXDIFF,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.279
ENDIF OSWAPDIA.280
IF (sf_dt(5)) THEN OSWAPDIA.281
CALL SWAPBOUNDS
(DTYDIFF,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.282
ENDIF OSWAPDIA.283
IF (sf_dt(6)) THEN OSWAPDIA.284
CALL SWAPBOUNDS
(DTZDIFF,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.285
ENDIF OSWAPDIA.286
IF (sf_dt(7)) THEN OSWAPDIA.287
CALL SWAPBOUNDS
(DTSFC,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.288
ENDIF OSWAPDIA.289
IF (sf_dt(8)) THEN OSWAPDIA.290
CALL SWAPBOUNDS
(DTPEN,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.291
ENDIF OSWAPDIA.292
IF (sf_dt(9)) THEN OSWAPDIA.293
CALL SWAPBOUNDS
(DTICE,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.294
ENDIF OSWAPDIA.295
IF (sf_dt(10)) THEN OSWAPDIA.296
CALL SWAPBOUNDS
(DTMIX,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.297
ENDIF OSWAPDIA.298
IF (sf_dt(11)) THEN OSWAPDIA.299
CALL SWAPBOUNDS
(DTCNVC,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.300
ENDIF OSWAPDIA.301
IF (sf_dt(12)) THEN OSWAPDIA.302
CALL SWAPBOUNDS
(DTZ,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.303
ENDIF OSWAPDIA.304
IF (sf_dt(13)) THEN OSWAPDIA.305
CALL SWAPBOUNDS
(DTFF,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.306
ENDIF OSWAPDIA.307
OSWAPDIA.308
OSWAPDIA.309
IF (sf_dt(15)) THEN OSWAPDIA.310
CALL SWAPBOUNDS
(DTMED,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.311
ENDIF OSWAPDIA.312
OSWAPDIA.313
OSWAPDIA.314
OSWAPDIA.315
IF (sf_DS(1)) THEN OSWAPDIA.316
CALL SWAPBOUNDS
(DSXADV,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.317
ENDIF OSWAPDIA.318
IF (sf_DS(2)) THEN OSWAPDIA.319
CALL SWAPBOUNDS
(DSYADV,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.320
ENDIF OSWAPDIA.321
IF (sf_DS(3)) THEN OSWAPDIA.322
CALL SWAPBOUNDS
(DSZADV,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.323
ENDIF OSWAPDIA.324
IF (sf_DS(4)) THEN OSWAPDIA.325
CALL SWAPBOUNDS
(DSXDIFF,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.326
ENDIF OSWAPDIA.327
IF (sf_DS(5)) THEN OSWAPDIA.328
CALL SWAPBOUNDS
(DSYDIFF,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.329
ENDIF OSWAPDIA.330
IF (sf_DS(6)) THEN OSWAPDIA.331
CALL SWAPBOUNDS
(DSZDIFF,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.332
ENDIF OSWAPDIA.333
IF (sf_DS(7)) THEN OSWAPDIA.334
CALL SWAPBOUNDS
(DSSFC,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.335
ENDIF OSWAPDIA.336
IF (sf_DS(8)) THEN OSWAPDIA.337
CALL SWAPBOUNDS
(DSICE,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.338
ENDIF OSWAPDIA.339
IF (sf_DS(9)) THEN OSWAPDIA.340
CALL SWAPBOUNDS
(DSMIX,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.341
ENDIF OSWAPDIA.342
IF (sf_DS(10)) THEN OSWAPDIA.343
CALL SWAPBOUNDS
(DSCNVC,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.344
ENDIF OSWAPDIA.345
IF (sf_DS(11)) THEN OSWAPDIA.346
CALL SWAPBOUNDS
(DSZ,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.347
ENDIF OSWAPDIA.348
IF (sf_DS(12)) THEN OSWAPDIA.349
CALL SWAPBOUNDS
(DSFF,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.350
ENDIF OSWAPDIA.351
OSWAPDIA.352
IF (sf_DS(14)) THEN OSWAPDIA.353
CALL SWAPBOUNDS
(DSMED,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.354
ENDIF OSWAPDIA.355
OSWAPDIA.356
IF (SF_DSGM) THEN OSWAPDIA.357
CALL SWAPBOUNDS
(DSGM_OUT,IMT_STASH,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.358
ENDIF OSWAPDIA.359
OSWAPDIA.360
! BIOLOGY related diagnostics: OSWAPDIA.361
IF (L_OBIOLOGY) THEN OSWAPDIA.362
IF (sf_bio(1)) THEN OSWAPDIA.363
CALL SWAPBOUNDS
(PRIM_PROD,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.364
ENDIF OSWAPDIA.365
IF (sf_bio(2)) THEN OSWAPDIA.366
CALL SWAPBOUNDS
(ZOO_PROD,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,1) OSWAPDIA.367
ENDIF OSWAPDIA.368
IF (sf_bio(3)) THEN OSWAPDIA.369
CALL SWAPBOUNDS
(PHYTO_GROW,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.370
ENDIF OSWAPDIA.371
IF (sf_bio(4)) THEN OSWAPDIA.372
CALL SWAPBOUNDS
(PHYTO_GRAZE,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.373
ENDIF OSWAPDIA.374
IF (sf_bio(5)) THEN OSWAPDIA.375
CALL SWAPBOUNDS
(PHYTO_MORT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.376
ENDIF OSWAPDIA.377
IF (sf_bio(6)) THEN OSWAPDIA.378
CALL SWAPBOUNDS
(EXCRETE_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.379
ENDIF OSWAPDIA.380
IF (sf_bio(7)) THEN OSWAPDIA.381
CALL SWAPBOUNDS
(GROW_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.382
ENDIF OSWAPDIA.383
IF (sf_bio(8)) THEN OSWAPDIA.384
CALL SWAPBOUNDS
(PMORT_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.385
ENDIF OSWAPDIA.386
IF (sf_bio(9)) THEN OSWAPDIA.387
CALL SWAPBOUNDS
(ZMORT_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.388
ENDIF OSWAPDIA.389
IF (sf_bio(10)) THEN OSWAPDIA.390
CALL SWAPBOUNDS
(PRESP_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.391
ENDIF OSWAPDIA.392
IF (sf_bio(11)) THEN OSWAPDIA.393
CALL SWAPBOUNDS
(REMIN_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.394
ENDIF OSWAPDIA.395
IF (sf_bio(12)) THEN OSWAPDIA.396
CALL SWAPBOUNDS
(NUT_LIMIT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.397
ENDIF OSWAPDIA.398
IF (sf_bio(13)) THEN OSWAPDIA.399
CALL SWAPBOUNDS
(LIGHT_LIMIT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.400
ENDIF OSWAPDIA.401
IF (sf_bio(14)) THEN OSWAPDIA.402
CALL SWAPBOUNDS
(TEMP_LIMIT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.403
ENDIF OSWAPDIA.404
IF (sf_bio(15)) THEN OSWAPDIA.405
CALL SWAPBOUNDS
(DETRI_FLUX,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.406
ENDIF OSWAPDIA.407
IF (sf_bio(16)) THEN OSWAPDIA.408
CALL SWAPBOUNDS
(NUT_FLUX,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.409
ENDIF OSWAPDIA.410
IF (sf_bio(17)) THEN OSWAPDIA.411
CALL SWAPBOUNDS
(HADV_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.412
ENDIF OSWAPDIA.413
IF (sf_bio(18)) THEN OSWAPDIA.414
CALL SWAPBOUNDS
(VADV_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.415
ENDIF OSWAPDIA.416
IF (sf_bio(19)) THEN OSWAPDIA.417
CALL SWAPBOUNDS
(HD IF_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.418
ENDIF OSWAPDIA.419
IF (sf_bio(20)) THEN OSWAPDIA.420
CALL SWAPBOUNDS
(VD IF_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.421
ENDIF OSWAPDIA.422
IF (sf_bio(21)) THEN OSWAPDIA.423
CALL SWAPBOUNDS
(MIX_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.424
ENDIF OSWAPDIA.425
IF (sf_bio(22)) THEN OSWAPDIA.426
CALL SWAPBOUNDS
(CNVC_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.427
ENDIF OSWAPDIA.428
IF (sf_bio(23)) THEN OSWAPDIA.429
CALL SWAPBOUNDS
(BIO_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.430
ENDIF OSWAPDIA.431
IF (sf_bio(24)) THEN OSWAPDIA.432
CALL SWAPBOUNDS
(FIX_NUT,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.433
ENDIF OSWAPDIA.434
IF (sf_bio(25)) THEN OSWAPDIA.435
CALL SWAPBOUNDS
(HADV_PHY,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.436
ENDIF OSWAPDIA.437
IF (sf_bio(26)) THEN OSWAPDIA.438
CALL SWAPBOUNDS
(HADV_ZOO,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.439
ENDIF OSWAPDIA.440
IF (sf_bio(27)) THEN OSWAPDIA.441
CALL SWAPBOUNDS
(HADV_DET,SWNCOL,JMT,O_EW_HALO,O_NS_HALO,KM) OSWAPDIA.442
ENDIF OSWAPDIA.443
ENDIF OSWAPDIA.444
OSWAPDIA.445
RETURN OSWAPDIA.446
OSWAPDIA.447
END OSWAPDIA.448
*ENDIF OSWAPDIA.449