================================================================ Apr 03, 2010 1) add diagnostics for KPP non-local flux of Temp, Salt and pTracers (respectively: KPPg_TH, KPPg_SLT and KPPgTrXX for tracer number XX) This allows to close the tracer budget when using KPP. 2) Change the diagnostic for KPP non-local term: name: description: KPPghat Nonlocal transport coefficient (s/m^2) (correspond to KPP ghat field, from which the non-local flux of tracer (T,S,pTr) is computed, as the product of ghat , KPPdiffKz and surface flux.) replaced by: KPPghatK ratio of KPP non-local (salt) flux relative to surface-flux (correspond to the product: KPP_ghat * KPPdiffKzS which gives the fraction of the the surface flux of Salt that KPP return as non local flux; also valid for any passive tracer, but could be different for Temp., see comment below) comments (from mitgcm-devel list): I was also tempted to replace the KPPghat diagnostics with something more useful which incorporates the KPPdiffKz: Since it is the product KPPghat*KPPdiffKz which matters, and given that short time variations of both (which have no reason not to be correlated) can be significant, the product of the 2 time-ave is very likely to be quiet far from the time-ave of the product. It has also the advantage of a simpler interpretation: the product is just the fraction of the surface flux which is treated as non local (no unit, instead of this funny s/m^2 for KPPghat). Then I would propose to just pick one KPPdiffKz (for instance, KPPdiffKzS for salinity, since it's also used for Ptracers), and have only 1 diag: "KPPghatK" for KPPghat*KPPdiffKzS (no unit). For temperature (KPPghat*KPPdiffKzT), it's probably not too different from the one computed for salinity (might be in fact a better time-ave value that what we have now, for the reason above). And to get a precise diagnostic of KPP-non-local effect on temperature, there would be this new diagnostic directly from kpp_transport_t.F (which can be used to close a Temp. budget). ================================================================ Jun 21, 2009 Some redundancies and relations for model diagnostics: 1) Qnet = QNETtave = - oceQnet = SIqnet 2) For open-ocean, i.e., when there is no sea ice: Qnet = QNETtave = - oceQnet = SIqnet = EXFqnet = SIqneto = SIatmQnt 3) EXFqnet = EXFlwnet + EXFswnet - EXFhl - EXFhs 4) Qsw = QSWtave = - oceQsw = SIqsw 5) For open-ocean, i.e., when there is no sea ice: Qsw = QSWtave = - oceQsw = SIqsw = EXFswnet 6) EmPmR = EmPmRtave = -oceFWflx = SIempmr ================================================================ Nov 19, 2006 (after tag checkpoint58r_post) I) Some diagnostics have been renamed (essentially, to better match the content): 1) name: description (oceanic set-up): PRESSURE Cell-Center Height replaced by: RCENTER Cell-Center Height 2) name: description (oceanic set-up): TICE heat from melt/freeze of sea-ice, >0 increases theta replaced by: oceFreez heating from freezing of sea-water (allowFreezing=T) 3) name: description (oceanic set-up): TAUX zonal surface wind stress, >0 increases uVel TAUY meridional surf. wind stress, >0 increases vVel replaced by: oceTAUX zonal surface wind stress, >0 increases uVel oceTAUY meridional surf. wind stress, >0 increases vVel 4) name: description (oceanic set-up): SWFLUX net upward SW radiation, >0 increases theta replaced by: oceQsw net Short-Wave radiation (+=down), >0 increases theta 5) name: description (oceanic set-up): DIFx_TH Zonal Diffusive Flux of Pot.Temperature DIFy_TH Meridional Diffusive Flux of Pot.Temperature replaced by: DFxE_TH Zonal Diffusive Flux of Pot.Temperature DFyE_TH Meridional Diffusive Flux of Pot.Temperature 6) name: description (oceanic set-up): DIFx_SLT Zonal Diffusive Flux of Salinity DIFy_SLT Meridional Diffusive Flux of Salinity replaced by: DFxE_SLT Zonal Diffusive Flux of Salinity DFyE_SLT Meridional Diffusive Flux of Salinity ----------------------------------------------- II) Change description of existing diagnostics: name: old description (oceanic set-up): TFLUX net surface heat flux, >0 increases theta SFLUX net surface salt flux, >0 increases salt name: new description (oceanic set-up): TFLUX total heat flux (match heat-content variations), >0 increases theta SFLUX total salt flux (match salt-content variations), >0 increases salt ----------------------------------------------- III) New diagnostics have been added: name: description (oceanic set-up): atmPload Atmospheric pressure loading sIceLoad sea-ice loading (in Mass of ice+snow / area unit) oceQnet net surface heat flux into the ocean (+=down), >0 increases theta oceFWflx net surface Fresh-Water flux into the ocean (+=down), >0 decreases salinity oceSflux net surface Salt flux into the ocean (+=down), >0 increases salinity surForcT model surface forcing for Temperature, >0 increases theta surForcS model surface forcing for Salinity, >0 increases salinity -------------------------------------------------------------------------- Relation between surForcT,surForcS and others surface forcing diagnostics: [x] = average of model variable "x" over the diagnostic time interval a) if useRealFreshWaterFlux=F or (nonlinFreeSurf=0 & usingZCoords=T) surForcT = oceQnet + TRELAX - oceQsw surForcS = oceSflux + SRELAX - [PmEpR*So] (with So = local Sea-Surface Salinity (SSS) if convertFW2Salt=-1 and So = convertFW2Salt otherwise) oceFWflx = [PmEpR] TFLUX = surForcT + oceQsw + oceFreez SFLUX = surForcS b) if useRealFreshWaterFlux=T & (nonlinFreeSurf>0 or usingPCoords=T), In general: surForcT = oceQnet + TRELAX - oceQsw + [T_dilution_effect]*Cp surForcS = oceSflux + SRELAX + [S_dilution_effect] where T_dilution_effect = PmEpR*( temp_EvPrRn - SST ) and S_dilution_effect = PmEpR*( salt_EvPrRn - SSS ) oceFWflx = [PmEpR] TFLUX = surForcT + oceQsw + oceFreez + [PmEpR*SST]*Cp SFLUX = surForcS + [PmEpR*SSS] And with the default value: salt_EvPrRn=0. & temp_EvPrRn=UNSET_RL (=> no dilution effect on Temp.): surForcT = oceQnet + TRELAX - oceQsw surForcS = oceSflux + SRELAX - [PmEpR*SSS] Notes: 1) Here PmEpR is assumed to be the fresh-water mass flux per surface area [units: kg/m^2/s] whereas the model variable EmPmR is still a volume flux per surface area [units: m/s]. 2) With Linear FreeSurf, there is a small loss of heat/salt/tracer at the surface (d/dt(Eta) inconsistent with fixed surf grid cell thickness: a) if linFSConserveTr is set to true (file "data"), then the model corrects for this (see S/R calc_wsurf_tr.F). b) if linFSConserveTr=False (=the default), the term corresponding to w_surface*SST,SSS is missing in TFLUX,SFLUX to match exactly the Heat and Salt budget evolution so need to account for this term in the budget, which can be obtained from the 1rst level of WTHMASS / WSLTMASS diagnostics (diagnostics ADVr_TH / ADVr_SLT is not the right one for this purpose, it's just zero at k=1). 3) There is just one more undocumented/hidden case (nonlinFreeSurf=0 & select_rStar=-1) which is not covered. 4) For extended diagnostics in the presence of sea-ice and using pkg/seaice/ (in particular atmosphere-ice and ice-ocean fluxes) see online documentation, section 6.6.2.6 "SEAICE diagnostics"