File indexing completed on 2022-01-14 06:11:04 UTC
view on githubraw file Latest commit 56d13a40 on 2022-01-13 18:04:11 UTC
23753a76a9 Dimi*0001 #include "EXF_OPTIONS.h"
0002
0003
0004
0005
0006 SUBROUTINE EXF_DIAGNOSTICS_INIT( myThid )
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 IMPLICIT NONE
0017
0018
0019 #include "EEPARAMS.h"
984a30506f Jean*0020 #include "EXF_PARAM.h"
23753a76a9 Dimi*0021
0022
0023
0024
0025 INTEGER myThid
0026
0027
0028 #ifdef ALLOW_DIAGNOSTICS
0029
0030
0031
0032
0033
0034
0035
0036
0037 INTEGER diagNum
56d13a40ed Mart*0038 #ifdef ALLOW_AUTODIFF
a10c595eb6 Timo*0039 INTEGER diagMate
56d13a40ed Mart*0040 #endif
23753a76a9 Dimi*0041 CHARACTER*8 diagName
0042 CHARACTER*16 diagCode
0043 CHARACTER*16 diagUnits
0044 CHARACTER*(80) diagTitle
0045
0046
0047
b1e3781773 Patr*0048 diagName = 'EXFhs '
0049 diagTitle = 'Sensible heat flux into ocean, >0 increases theta'
0050 diagUnits = 'W/m^2 '
0051 diagCode = 'SM U1 '
03a64b15f0 Jean*0052 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0053 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0054
0055 diagName = 'EXFhl '
0056 diagTitle = 'Latent heat flux into ocean, >0 increases theta'
0057 diagUnits = 'W/m^2 '
0058 diagCode = 'SM U1 '
03a64b15f0 Jean*0059 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0060 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0061
0062 diagName = 'EXFlwnet'
0063 diagTitle = 'Net upward longwave radiation, >0 decreases theta'
0064 diagUnits = 'W/m^2 '
0065 diagCode = 'SM U1 '
03a64b15f0 Jean*0066 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0067 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
984a30506f Jean*0068
b1e3781773 Patr*0069 diagName = 'EXFswnet'
0070 diagTitle = 'Net upward shortwave radiation, >0 decreases theta'
0071 diagUnits = 'W/m^2 '
0072 diagCode = 'SM U1 '
03a64b15f0 Jean*0073 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0074 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
984a30506f Jean*0075
b1e3781773 Patr*0076 diagName = 'EXFlwdn '
0077 diagTitle = 'Downward longwave radiation, >0 increases theta'
0078 diagUnits = 'W/m^2 '
0079 diagCode = 'SM U1 '
03a64b15f0 Jean*0080 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0081 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
984a30506f Jean*0082
b1e3781773 Patr*0083 diagName = 'EXFswdn '
0084 diagTitle = 'Downward shortwave radiation, >0 increases theta'
0085 diagUnits = 'W/m^2 '
0086 diagCode = 'SM U1 '
03a64b15f0 Jean*0087 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0088 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0089
0090 diagName = 'EXFqnet '
0091 diagTitle = 'Net upward heat flux (turb+rad), >0 decreases theta'
0092 diagUnits = 'W/m^2 '
0093 diagCode = 'SM U1 '
03a64b15f0 Jean*0094 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0095 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
984a30506f Jean*0096
b1e3781773 Patr*0097
0098 diagName = 'EXFtaux '
0099 diagTitle = 'zonal surface wind stress, >0 increases uVel '
0100 diagUnits = 'N/m^2 '
984a30506f Jean*0101 IF ( stressIsOnCgrid ) THEN
0102 diagCode = 'UU U1 '
0103 ELSE
0104 diagCode = 'UM U1 '
0105 ENDIF
03a64b15f0 Jean*0106 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0107 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0108
0109 diagName = 'EXFtauy '
0110 diagTitle = 'meridional surface wind stress, >0 increases vVel'
0111 diagUnits = 'N/m^2 '
984a30506f Jean*0112 IF ( stressIsOnCgrid ) THEN
0113 diagCode = 'VV U1 '
0114 ELSE
0115 diagCode = 'VM U1 '
0116 ENDIF
03a64b15f0 Jean*0117 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0118 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0119
0120 diagName = 'EXFuwind'
555f9be4d1 Jean*0121 diagTitle = 'zonal 10-m wind speed, >0 eastward'
b1e3781773 Patr*0122 diagUnits = 'm/s '
984a30506f Jean*0123 diagCode = 'UM U1 '
03a64b15f0 Jean*0124 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0125 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0126
0127 diagName = 'EXFvwind'
555f9be4d1 Jean*0128 diagTitle = 'meridional 10-m wind speed, >0 northward'
b1e3781773 Patr*0129 diagUnits = 'm/s '
984a30506f Jean*0130 diagCode = 'VM U1 '
03a64b15f0 Jean*0131 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0132 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
56d13a40ed Mart*0133
0134 diagName = 'EXFurelw'
0135 diagTitle = 'zonal relative 10-m wind speed, >0 eastward'
0136 diagUnits = 'm/s '
0137 diagCode = 'UM U1 '
0138 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0139 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0140
0141 diagName = 'EXFvrelw'
0142 diagTitle = 'meridional relative 10-m wind speed, >0 northward'
0143 diagUnits = 'm/s '
0144 diagCode = 'VM U1 '
0145 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0146 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
23753a76a9 Dimi*0147
3752238fd8 Patr*0148 diagName = 'EXFwspee'
0149 diagTitle = '10-m wind speed modulus ( >= 0 )'
0150 diagUnits = 'm/s '
0151 diagCode = 'SM U1 '
03a64b15f0 Jean*0152 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0153 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
3752238fd8 Patr*0154
b1e3781773 Patr*0155 diagName = 'EXFatemp'
0156 diagTitle = 'surface (2-m) air temperature'
0157 diagUnits = 'degK '
0158 diagCode = 'SM U1 '
03a64b15f0 Jean*0159 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0160 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
23753a76a9 Dimi*0161
b1e3781773 Patr*0162 diagName = 'EXFaqh '
0163 diagTitle = 'surface (2-m) specific humidity'
0164 diagUnits = 'kg/kg '
0165 diagCode = 'SM U1 '
03a64b15f0 Jean*0166 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0167 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
23753a76a9 Dimi*0168
b1e3781773 Patr*0169 diagName = 'EXFevap '
0170 diagTitle = 'evaporation, > 0 increases salinity'
0171 diagUnits = 'm/s '
0172 diagCode = 'SM U1 '
03a64b15f0 Jean*0173 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0174 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
23753a76a9 Dimi*0175
b1e3781773 Patr*0176 diagName = 'EXFpreci'
8939da7417 Mart*0177 diagTitle = 'precipitation, > 0 decreases salinity'
b1e3781773 Patr*0178 diagUnits = 'm/s '
0179 diagCode = 'SM U1 '
03a64b15f0 Jean*0180 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0181 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0182
3752238fd8 Patr*0183 diagName = 'EXFsnow '
0184 diagTitle = 'snow precipitation, > 0 decreases salinity'
0185 diagUnits = 'm/s '
0186 diagCode = 'SM U1 '
03a64b15f0 Jean*0187 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0188 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
3752238fd8 Patr*0189
b1e3781773 Patr*0190 diagName = 'EXFempmr'
0191 diagTitle = 'net upward freshwater flux, > 0 increases salinity'
0192 diagUnits = 'm/s '
0193 diagCode = 'SM U1 '
03a64b15f0 Jean*0194 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0195 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0196
0197 diagName = 'EXFpress'
0198 diagTitle = 'atmospheric pressure field'
0199 diagUnits = 'N/m^2 '
0200 diagCode = 'SM U1 '
03a64b15f0 Jean*0201 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0202 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0203
7c8c625e4b Mart*0204 diagName = 'EXFroff '
0205 diagTitle = 'river runoff, > 0 decreases salinity'
0206 diagUnits = 'm/s '
0207 diagCode = 'SM U1 '
03a64b15f0 Jean*0208 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0209 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b1e3781773 Patr*0210
e603dbf008 Dimi*0211 diagName = 'EXFroft '
0212 diagTitle = 'river runoff temperature'
0213 diagUnits = 'deg C '
0214 diagCode = 'SM U1 '
0215 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0216 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0217
a66aad0124 Gael*0218 diagName = 'EXFsalfx'
0219 diagTitle = 'upward salt flux, > 0 decreases salinity'
ba0b047096 Mart*0220 diagUnits = 'g/m^2/s '
a66aad0124 Gael*0221 diagCode = 'SM U1 '
0222 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0223 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0224
a10c595eb6 Timo*0225 #ifdef ALLOW_AUTODIFF
0226
0227
0228 diagName = 'ADJustrs'
0229 diagTitle = 'dJ/dustress: Senstivity to zonal surface wind stress'
0230 diagUnits = 'dJ/(N/m^2) '
0231 IF ( stressIsOnCgrid ) THEN
0232 diagCode = 'UU A U1 '
0233 ELSE
0234 diagCode = 'UM A U1 '
0235 ENDIF
0236 diagMate = diagNum + 2
0237 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0238 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
0239
0240 diagName = 'ADJvstrs'
0241 diagTitle = 'dJ/dvstrs: Sensitivity to merid. surface wind stress'
0242 diagUnits = 'dJ/(N/m^2) '
0243 IF ( stressIsOnCgrid ) THEN
0244 diagCode = 'VV A U1 '
0245 ELSE
0246 diagCode = 'VM A U1 '
0247 ENDIF
0248 diagMate = diagNum
0249 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0250 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
0251
0252 diagName = 'ADJhflux'
0253 diagTitle = 'dJ/dhflux: Sensitivity to upward heat flux'
0254 diagUnits = 'dJ/(W/m^2) '
0255 diagCode = 'SM A U1 '
0256 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0257 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0258
0259 diagName = 'ADJsflux'
0260 diagTitle = 'dJ/dhflux: Sensitivity to upward fresh water flux'
0261 diagUnits = 'dJ/(m/s) '
0262 diagCode = 'SM A U1 '
0263 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0264 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0265
0266 diagName = 'ADJatemp'
0267 diagTitle = 'dJ/datemp: Sensitivity to atmos. surface temperature'
0268 diagUnits = 'dJ/K '
0269 diagCode = 'SM A U1 '
0270 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0271 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0272
0273 diagName = 'ADJpreci'
0274 diagTitle = 'dJ/daqh: Sensitivity to precipitation'
0275 diagUnits = 'dJ/(m/s) '
0276 diagCode = 'SM A U1 '
0277 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0278 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0279
0280 diagName = 'ADJroff '
0281 diagTitle = 'dJ/daqh: Sensitivity to river runoff'
0282 diagUnits = 'dJ/(m/s) '
0283 diagCode = 'SM A U1 '
0284 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0285 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0286
0287 diagName = 'ADJswdn '
0288 diagTitle = 'dJ/dswdown: Sensitivity to downward SW radiation'
0289 diagUnits = 'dJ/(W/m^2) '
0290 diagCode = 'SM A U1 '
0291 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0292 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0293
0294 diagName = 'ADJlwdn '
0295 diagTitle = 'dJ/dlwdown: Sensitivity to downward LW radiation'
0296 diagUnits = 'dJ/(W/m^2) '
0297 diagCode = 'SM A U1 '
0298 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0299 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0300
0301 diagName = 'ADJuwind'
0302 diagTitle = 'dJ/duwind: Senstivity to zonal 10-m wind speed'
0303 diagUnits = 'dJ/d(m/s) '
0304 diagCode = 'UM A U1 '
0305 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0306 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0307
0308 diagName = 'ADJvwind'
0309 diagTitle = 'dJ/dvwind: Senstivity to meridional 10-m wind speed'
0310 diagUnits = 'dJ/d(m/s) '
0311 diagCode = 'VM A U1 '
0312 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0313 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0314
0315 diagName = 'ADJclsst'
0316 diagTitle = 'dJ/dclimsst: Sensitivity to restoring SST'
0317 diagUnits = 'dJ/K '
0318 diagCode = 'SM A U1 '
0319 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0320 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0321
0322 diagName = 'ADJclsss'
0323 diagTitle = 'dJ/dclimsss: Sensitivity to restoring SSS'
0324 diagUnits = 'dJ/(g/kg) '
0325 diagCode = 'SM A U1 '
0326 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
0327 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
0328
0329 #endif /* ALLOW_AUTODIFF */
23753a76a9 Dimi*0330 #endif /* ALLOW_DIAGNOSTICS */
0331
0332 RETURN
0333 END