C $Header: /u/gcmpack/MITgcm/pkg/ocn_compon_interf/cpl_diagnostics_init.F,v 1.1 2016/01/06 00:36:34 jmc Exp $ C $Name: $ #include "OCN_CPL_OPTIONS.h" C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| CBOP 0 C !ROUTINE: CPL_DIAGNOSTICS_INIT C !INTERFACE: SUBROUTINE CPL_DIAGNOSTICS_INIT( myThid ) C !DESCRIPTION: C Initialize list of available diagnostics C for Coupled Oceanic Component C !USES: IMPLICIT NONE #include "EEPARAMS.h" #include "SIZE.h" #include "CPL_PARAMS.h" C !INPUT/OUTPUT PARAMETERS: C myThid :: my Thread Id number INTEGER myThid CEOP #ifdef ALLOW_DIAGNOSTICS C !LOCAL VARIABLES: C === Local variables === C diagNum :: diagnostics number in the (long) list of available diag. C diagMate :: diag. mate number in the (long) list of available diag. C diagName :: local short name (8c) of a diagnostics C diagCode :: local parser field with characteristics of the diagnostics C cf head of S/R DIAGNOSTICS_INIT_EARLY or DIAGNOSTICS_MAIN_INIT C diagUnits :: local string (16c): physical units of a diagnostic field C diagTitle :: local string (80c): description of field in diagnostic INTEGER diagNum INTEGER diagMate CHARACTER*8 diagName CHARACTER*16 diagCode CHARACTER*16 diagUnits CHARACTER*(80) diagTitle #ifdef ALLOW_THSICE INTEGER numFract, numThick #endif /* ALLOW_THSICE */ C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| c IF ( useDiagnotics ) THEN diagName = 'CPL_SLPr' diagTitle = 'Atmos Sea-Level pressure anomaly (recv fr Coupler)' diagUnits = 'Pa ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) diagName = 'CPL_Qnet' diagTitle = 'Net surface heat flux (+=up) (recv from Coupler)' diagUnits = 'W/m^2 ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) diagName = 'CPL_Qsw ' diagTitle = 'Net shortwave heat flux (+=up)(recv from Coupler)' diagUnits = 'W/m^2 ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) diagName = 'CPL_tauX' diagTitle = 'Zonal surface wind-stress (recv from Coupler)' diagUnits = 'N/m^2 ' diagCode = 'UM M1 ' diagMate = diagNum + 2 CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) diagName = 'CPL_tauY' diagTitle = 'Merid. surface wind-stress (recv from Coupler)' diagUnits = 'N/m^2 ' diagMate = diagNum CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) diagName = 'CPL_FWat' diagTitle = 'Surface fresh-water flux (+=up)(recv from Coupler)' diagUnits = 'kg/m^2/s ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) diagName = 'CPL_sFlx' diagTitle = 'Salt flux from seaice comp (+=up)(recv fr Coupler)' diagUnits = 'g/m^2/s ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) diagName = 'CPL_iceM' diagTitle = 'Seaice mass (recv from Coupler)' diagUnits = 'kg/m^2 ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) #ifdef ALLOW_SALT_PLUME diagName = 'CPL_sPlm' diagTitle = 'Salt-plume flux (+=down) (recv from Coupler)' diagUnits = 'g/m^2/s ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) #endif /* ALLOW_SALT_PLUME */ #ifdef ALLOW_DIC diagName = 'CPL_RnOf' diagTitle = 'river Run-Off (for DIC, +=down)(recv from Coupler)' diagUnits = 'kg/m^2/s ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) diagName = 'CPL_aCO2' diagTitle = 'Atmospheric CO2 (parts by vol)(recv from Coupler)' diagUnits = 'ppm ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) diagName = 'CPL_wSpd' diagTitle = 'Atmospheric surf. wind speed (recv from Coupler)' diagUnits = 'm/s ' diagCode = 'SM M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) #endif /* ALLOW_DIC */ #if (defined ALLOW_DIC) (defined ALLOW_THSICE) diagName = 'CPL_icFr' diagTitle = 'Seaice fraction (Atmos, recv from Coupler)' diagUnits = '0-1 ' diagCode = 'SM P M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) #endif /* ALLOW_DIC or ALLOW_THSICE */ #ifdef ALLOW_THSICE numFract = diagNum diagName = 'CPL_iceH' diagTitle = 'Seaice thickness (Atmos, recv from Coupler)' diagUnits = 'm ' diagCode = 'SM PC M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, numFract, myThid ) numThick = diagNum diagName = 'CPL_snwH' diagTitle = 'Snow thickness over seaice (ATM, recv fr Coupler)' diagUnits = 'm ' diagCode = 'SM PC M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, numFract, myThid ) diagName = 'CPL_Qic1' diagTitle ='Enthalpy of seaice layer 1 (Atmos, recv fr Coupler)' diagUnits = 'J/kg ' diagCode = 'SM C M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, numThick, myThid ) diagName = 'CPL_Qic2' diagTitle ='Enthalpy of seaice layer 2 (Atmos, recv fr Coupler)' diagUnits = 'J/kg ' diagCode = 'SM C M1 ' CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, numThick, myThid ) #endif /* ALLOW_THSICE */ c ENDIF #endif /* ALLOW_DIAGNOSTICS */ RETURN END