--- MITgcm/pkg/diagnostics/diagnostics_main_init.F 2004/12/13 21:43:54 1.1 +++ MITgcm/pkg/diagnostics/diagnostics_main_init.F 2005/05/06 03:46:40 1.12 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/diagnostics/diagnostics_main_init.F,v 1.1 2004/12/13 21:43:54 jmc Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/diagnostics/diagnostics_main_init.F,v 1.12 2005/05/06 03:46:40 dimitri Exp $ C $Name: $ #include "DIAG_OPTIONS.h" @@ -24,8 +24,9 @@ C \textbf{Positions} & \textbf{Characters} C & \textbf{Meanings} \\\hline C parse(1) & S & scalar \\ -C & U & U-vector component \\ -C & V & V-vector component \\ +C & U & vector component in X direction \\ +C & V & vector component in Y direction \\ +C & W & vector component in vertical direction \\ C parse(2) & U & C-grid U-Point \\ C & V & C-grid V-Point \\ C & M & C-grid Mass Point \\ @@ -58,10 +59,16 @@ CEOP C !LOCAL VARIABLES: + INTEGER diagNum CHARACTER*8 diagName CHARACTER*16 diagCode CHARACTER*16 diagUnits CHARACTER*(80) diagTitle + CHARACTER*2 rUnit2c + CHARACTER*4 tUnit4c, sUnit4c + + CHARACTER*(16) DIAGS_MK_UNITS + EXTERNAL DIAGS_MK_UNITS C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| C For each output variable, @@ -69,18 +76,417 @@ C and Type/Parms (location on C grid, 2D/3D, ...) (gdiag, 16c) C---------------------------------------------------------------------- - diagName = 'DRHODR ' - diagTitle = 'Stratification: d.Sigma/dr (kg/m3/r_unit) ' - diagUnits = 'kg/m4 ' - diagCode = 'SM LR ' - CALL DIAGNOSTICS_ADD2LIST( + IF ( usingPCoords ) THEN + rUnit2c= 'Pa' + ELSE + rUnit2c= 'm ' + ENDIF + IF ( fluidIsAir ) THEN + tUnit4c= 'K ' + sUnit4c= 'g/kg' + ELSE + tUnit4c= 'degC' + sUnit4c= 'psu ' + ENDIF + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| +C- state variables of the main code (and related quadratic var): + + diagName = 'ETAN ' + diagTitle = 'Perturbation of Surface (pressure, height) (Pa,m)' + diagUnits = DIAGS_MK_UNITS( rUnit2c, myThid ) + diagCode = 'SM M1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'ETANSQ ' + diagTitle = 'Square of Perturbation of Sfc (Pa^2,m^2)' + diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2', myThid ) + diagCode = 'SM M1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, myThid ) diagName = 'DETADT2 ' diagTitle = 'Square of Eta (Surf.P,SSH) Tendency ((r_unit/s)^2)' - diagUnits = 'm2 or Pa2 /sec2 ' + diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2/s^2', myThid ) + diagCode = 'SM M1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'THETA ' + diagTitle = 'Potential Temperature (degC,K)' + diagUnits = DIAGS_MK_UNITS( tUnit4c, myThid ) + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'SST ' + diagTitle = 'Sea Surface Temperature (degC,K)' + diagUnits = DIAGS_MK_UNITS( tUnit4c, myThid ) + diagCode = 'SM M1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'SALT ' + diagTitle = 'Salt or Water Vapor mixing ratio (g/kg)' + diagUnits = DIAGS_MK_UNITS( sUnit4c, myThid ) + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'SSS ' + diagTitle = 'Sea Surface Salinity (g/kg)' + diagUnits = DIAGS_MK_UNITS( sUnit4c, myThid ) + diagCode = 'SM M1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'SALTanom' + diagTitle = 'Salt anomaly (=SALT-35; g/kg)' + diagUnits = DIAGS_MK_UNITS( sUnit4c, myThid ) + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'UVEL ' + diagTitle = 'Zonal Component of Velocity (m/s)' + diagUnits = 'm/s ' + WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VVEL ' + diagTitle = 'Meridional Component of Velocity (m/s)' + diagUnits = 'm/s ' + WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'UVEL_k2 ' + diagTitle = 'Zonal Component of Velocity at level 2 (m/s)' + diagUnits = 'm/s ' + WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'M1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VVEL_k2 ' + diagTitle = 'Meridional Component of Velocity at level 2 (m/s)' + diagUnits = 'm/s ' + WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'M1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WVEL ' + diagTitle = 'Vertical Component of Velocity (r_units/s)' + diagUnits = DIAGS_MK_UNITS( rUnit2c//'/s', myThid ) + diagCode = 'WM LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'THETASQ ' + diagTitle = 'Square of Potential Temperature (K^2)' + diagUnits = DIAGS_MK_UNITS( tUnit4c//'^2', myThid ) + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'SALTSQ ' + diagTitle = 'Square of Salt or Water Vapor mix rat (g^2/kg^2)' + diagUnits = DIAGS_MK_UNITS( '('//sUnit4c//')^2', myThid ) + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'SALTSQan' + diagTitle = 'Square of Salt anomaly (=SALTSQ-35^2 (g^2/kg^2)' + diagUnits = DIAGS_MK_UNITS( '('//sUnit4c//')^2', myThid ) + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'UVELSQ ' + diagTitle = 'Square of Zonal Comp of Velocity (m^2/s^2)' + diagUnits = 'm^2/s^2 ' + WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VVELSQ ' + diagTitle = 'Square of Meridional Comp of Velocity (m^2/s^2)' + diagUnits = 'm^2/s^2 ' + WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WVELSQ ' + diagTitle = 'Square of Vertical Comp of Velocity (m^2/s^2)' + diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2/s^2', myThid ) + diagCode = 'WM LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'UV_VEL_C' + diagTitle ='Product of horizontal Comp of velocity (cell center)' + diagUnits = 'm^2/s^2 ' + WRITE(diagCode,'(A,I3.3,A)') 'UM ', diagNum+1 ,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'UV_VEL_Z' + diagTitle = 'Meridional Transport of Zonal Momentum (m^2/s^2)' + diagUnits = 'm^2/s^2 ' + WRITE(diagCode,'(A,I3.3,A)') 'UZ ', diagNum+1 ,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WU_VEL ' + diagTitle = 'Vertical Transport of Zonal Momentum (m^2/s^2)' + diagUnits = DIAGS_MK_UNITS( 'm.'//rUnit2c//'/s^2', myThid ) + diagCode = 'WU LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WV_VEL ' + diagTitle ='Vertical Transport of Meridional Momentum (m^2/s^2)' + diagUnits = DIAGS_MK_UNITS( 'm.'//rUnit2c//'/s^2', myThid ) + diagCode = 'WV LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'UVELMASS' + diagTitle = 'Zonal Mass-Weighted Comp of Velocity (m/s)' + diagUnits = 'm/s ' + WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VVELMASS' + diagTitle = 'Meridional Mass-Weighted Comp of Velocity (m/s)' + diagUnits = 'm/s ' + WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WVELMASS' + diagTitle = 'Vertical Mass-Weighted Comp of Velocity (m/s)' + diagUnits = DIAGS_MK_UNITS( rUnit2c//'/s', myThid ) + diagCode = 'WM LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'UTHMASS ' + diagTitle = 'Zonal Mass-Weight Transp of Pot Temp (K.m/s)' + diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid ) + WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VTHMASS ' + diagTitle = 'Meridional Mass-Weight Transp of Pot Temp (K.m/s)' + diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid ) + WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WTHMASS ' + diagTitle = 'Vertical Mass-Weight Transp of Pot Temp (K.m/s)' + diagUnits = DIAGS_MK_UNITS(tUnit4c//'.'//rUnit2c//'/s', myThid ) + diagCode = 'WM LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'USLTMASS' + diagTitle = 'Zonal Mass-Weight Transp of Salt (g/kg.m/s)' + diagUnits = DIAGS_MK_UNITS(sUnit4c//'.m/s', myThid ) + WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VSLTMASS' + diagTitle = 'Meridional Mass-Weight Transp of Salt (g/kg.m/s)' + diagUnits = DIAGS_MK_UNITS(sUnit4c//'.m/s', myThid ) + WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WSLTMASS' + diagTitle = 'Vertical Mass-Weight Transp of Salt (g/kg.m/s)' + diagUnits = DIAGS_MK_UNITS(sUnit4c//'.'//rUnit2c//'/s', myThid ) + diagCode = 'WM LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'UVELTH ' + diagTitle = 'Zonal Transp of Pot Temp (K.m/s)' + diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid ) + WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VVELTH ' + diagTitle = 'Meridional Transp of Pot Temp (K.m/s)' + diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid ) + WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WVELTH ' + diagTitle = 'Vertical Transp of Pot Temp (K.m/s)' + diagUnits = DIAGS_MK_UNITS(tUnit4c//'.'//rUnit2c//'/s', myThid ) + diagCode = 'WM LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'UVELSLT ' + diagTitle = 'Zonal Transp of Salt (g/kg.m/s)' + diagUnits = DIAGS_MK_UNITS( sUnit4c//'.m/s', myThid ) + WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VVELSLT ' + diagTitle = 'Meridional Transp of Salt (g/kg.m/s)' + diagUnits = DIAGS_MK_UNITS( sUnit4c//'.m/s', myThid ) + WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WVELSLT ' + diagTitle = 'Vertical Transp of Salt (g/kg.m/s)' + diagUnits = DIAGS_MK_UNITS(sUnit4c//'.'//rUnit2c//'/s', myThid ) + diagCode = 'WM LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + diagName = 'RHOAnoma' + diagTitle = 'Density Anomaly (=Rho-rhoConst)' + diagUnits = 'kg/m^3 ' + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'RHOANOSQ' + diagTitle = 'Square of Density Anomaly (=(Rho-rhoConst)^2)' + diagUnits = 'kg^2/m^6 ' + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'URHOMASS' + diagTitle = 'Zonal Transport of Density' + diagUnits = 'kg/m^2/s ' + WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VRHOMASS' + diagTitle = 'Meridional Transport of Density' + diagUnits = 'kg/m^2/s ' + WRITE(diagCode,'(A,I3.3,A)') 'VV ',diagNum,'MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'WRHOMASS' + diagTitle = 'Vertical Transport of Potential Density' + diagUnits = 'kg/m^2/s ' + diagCode = 'WM LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'PHIHYD ' + diagTitle = 'Hydrostatic (ocean) pressure / (atmos) geo-Potential' + diagUnits = 'm^2/s^2 ' + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'PHIBOT ' + diagTitle = 'ocean bottom pressure / top. atmos geo-Potential' + diagUnits = 'm^2/s^2 ' + diagCode = 'SM M1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'PHIBOTSQ' + diagTitle = 'Square of ocean bottom pressure / top. geo-Potential' + diagUnits = 'm^4/s^4 ' diagCode = 'SM M1 ' - CALL DIAGNOSTICS_ADD2LIST( + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'DRHODR ' + diagTitle = 'Stratification: d.Sigma/dr (kg/m3/r_unit)' + diagUnits = 'kg/m^4 ' + IF ( usingPCoords ) diagUnits = 's^2/m^2 ' + diagCode = 'SM LR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + +C-- Momentum terms: + diagName = 'VISCA4 ' + diagTitle = 'Biharmonic Viscosity Coefficient in (m4/s) ' + diagUnits = 'm^4/s ' + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'VISCAH ' + diagTitle = 'Harmonic Viscosity Coefficient in (m2/s) ' + diagUnits = 'm^2/s ' + diagCode = 'SM MR ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + +C-- surface fluxes: + diagName = 'TAUX ' + diagTitle = 'zonal surface wind stress, >0 increases uVel ' + diagUnits = 'N/m^2 ' + diagCode = 'SU U1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'TAUY ' + diagTitle = 'meridional surf. wind stress, >0 increases vVel ' + diagUnits = 'N/m^2 ' + diagCode = 'SV U1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'TFLUX ' + diagTitle = 'net surface heat flux, >0 increases theta ' + diagUnits = 'W/m^2 ' + diagCode = 'SM U1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'TRELAX ' + diagTitle = 'surface temperature relaxation, >0 increases theta' + diagUnits = 'W/m^2 ' + diagCode = 'SM U1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'TICE ' + diagTitle = 'heat from melt/freeze of sea-ice, >0 increases theta' + diagUnits = 'W/m^2 ' + diagCode = 'SM U1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'SFLUX ' + diagTitle = 'net surface salt flux, >0 increases salt ' + diagUnits = 'g/m^2/s ' + diagCode = 'SM U1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, myThid ) + + diagName = 'SRELAX ' + diagTitle = 'surface salinity relaxation, >0 increases salt ' + diagUnits = 'g/m^2/s ' + diagCode = 'SM U1 ' + CALL DIAGNOSTICS_ADD2LIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, myThid ) C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|