C $Header: /u/gcmpack/MITgcm/model/src/packages_init_fixed.F,v 1.72 2010/09/25 23:09:55 mlosch Exp $
C $Name: $
#include "PACKAGES_CONFIG.h"
#include "CPP_OPTIONS.h"
CBOP
C !ROUTINE: PACKAGES_INIT_FIXED
C !INTERFACE:
SUBROUTINE PACKAGES_INIT_FIXED( myThid )
C !DESCRIPTION: \bv
C *==========================================================*
C | SUBROUTINE PACKAGES_INIT_FIXED
C | o Does initialisation of package-related fixed fields
C *==========================================================*
C \ev
C !CALLING SEQUENCE:
C PACKAGES_INIT_FIXED
C |
C |-- RUNCLOCK_INIT
C |
C |-- DIAGNOSTICS_INIT_EARLY
C |-- DIAGNOSTICS_MAIN_INIT
C |
C |-- GAD_INIT
C |
C |-- MOM_INIT_FIXED
C |
C |-- CD_CODE_INIT_FIXED
C |
C |-- EXF_INIT_FIXED
C |
C |-- GMREDI_INIT_FIXED
C |
C |-- DWNSLP_INIT_FIXED
C |
C |-- KPP_INIT_FIXED
C |
C |-- MY82_INIT_FIXED
C |
C |-- GGL90_INIT_FIXED
C |
C |-- OPPS_INIT
C |
C |-- OBCS_INIT_FIXED
C |
C |-- TIMEAVE_INIT_FIXED
C |
C |-- SHAP_FILT_INIT_FIZED
C |
C |-- ZONAL_FILT_INIT
C |
C |-- AIM_INITIALISE
C |
C |-- GRIDALT_INITIALISE
C |
C |-- FIZHI_INIT_FIXED
C |
C |-- LAND_INITIALISE
C |
C |-- SEAICE_COST_INIT_FIXED
C |
C |-- ECCO_COST_INIT_FIXED
C |
C |-- PROFILES_INIT_FIXED
C |
C |-- CTRL_INIT
C |
C |-- FLT_INIT_FIXED
C |
C |-- LONGSTEP_INIT_FIXED
C |
C |-- PTRACERS_INIT_FIXED
C |
C |-- GCHEM_INIT_FIXED
C |
C |-- THSICE_INIT_FIXED
C |
C |-- SHELFICE_INIT_FIXED
C |
C |-- ICEFRONT_INIT_FIXED
C |
C |-- CPL_INIT_FIXED
C |
C |-- ATM2D_INIT_FIXED
C |
C |-- REGRID_INIT_FIXED
C |
C |-- LAYERS_INIT_FIXED
C |
C |-- SALT_PLUME_INIT_FIXED
C |
C |-- MYPACKAGE_INIT_FIXED
C |
C |-- DIAGNOSTICS_INIT_FIXED
C !USES:
IMPLICIT NONE
C === Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
C !INPUT/OUTPUT PARAMETERS:
C === Routine arguments ===
C myThid - Number of this instances
INTEGER myThid
CEOP
#ifdef ALLOW_RUNCLOCK
IF ( useRunClock ) THEN
CALL RUNCLOCK_INIT( myThid )
ENDIF
#endif
#ifdef ALLOW_DIAGNOSTICS
IF ( useDiagnostics ) THEN
C- needs to call DIAGNOSTICS_INIT_EARLY before all package-diag-init calls
CALL DIAGNOSTICS_INIT_EARLY( myThid )
CALL DIAGNOSTICS_MAIN_INIT( myThid )
ENDIF
#endif
#ifdef ALLOW_GENERIC_ADVDIFF
C-- Initialize fixed params for GAD
CALL GAD_INIT_FIXED( myThid )
#endif
#ifdef ALLOW_MOM_COMMON
C-- Initialize fixed params for Momentum pkgs (common, fluxform, vecinv)
IF ( momStepping ) THEN
CALL MOM_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_CD_CODE
IF (useCDscheme) THEN
CALL CD_CODE_INIT_FIXED(myThid)
ENDIF
#endif
#ifdef ALLOW_EXF
C-- Initialize fixed arrays for EXF
IF ( useEXF ) THEN
CALL EXF_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_GMREDI
C-- Initialize fixed arrays for GM-Redi
IF ( useGMRedi ) THEN
CALL GMREDI_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_DOWN_SLOPE
C-- Initialize fixed arrays for Down-Slope pkg
IF ( useDOWN_SLOPE ) THEN
CALL DWNSLP_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_KPP
C-- Initialize fixed arrays for KPP
IF ( useKPP ) THEN
CALL KPP_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_MY82
C-- Initialize fixed arrays for MY82
IF ( useMY82 ) THEN
CALL MY82_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_GGL90
C-- Initialize fixed arrays for GGL90
IF ( useGGL90 ) THEN
CALL GGL90_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_OPPS
IF (useOPPS) CALL OPPS_INIT( myThid )
#endif /* ALLOW_OPPS */
C-- Initialize fixed arrays for OBCS
#ifdef ALLOW_OBCS
IF (useOBCS) THEN
CALL OBCS_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_TIMEAVE
C IF (useTIMEAVE) THEN
IF ( taveFreq.GT.0. ) THEN
CALL TIMEAVE_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_SHAP_FILT
C-- Shapiro filter initialisation
IF (useSHAP_FILT) THEN
CALL SHAP_FILT_INIT_FIXED( myThid )
ENDIF
#endif
#ifdef ALLOW_ZONAL_FILT
C-- Latitude circle filter initialisation
IF (useZONAL_FILT) THEN
CALL ZONAL_FILT_INIT(myThid)
ENDIF
#endif
#ifdef ALLOW_AIM
C-- Initialise & Read AIM physical parameters
IF (useAIM) CALL AIM_INITIALISE( myThid )
#endif
C AMM
#ifdef ALLOW_GRIDALT
C-- Initialise GRIDALT parameters - the alternative grid
IF (useGRIDALT) then
CALL TIMER_START('GRIDALT_INITIALISE [PACKAGES_INIT_F]',myThid)
CALL GRIDALT_INITIALISE( myThid )
CALL TIMER_STOP ('GRIDALT_INITIALISE [PACKAGES_INIT_F]',myThid)
ENDIF
#endif
#ifdef ALLOW_FIZHI
C-- Initialise & Read FIZHI physical parameters
IF (useFIZHI) CALL FIZHI_INIT_FIXED( myThid )
#endif
C AMM
#ifdef ALLOW_LAND
C-- Initialise & Read Land package parameters
IF (useLand) CALL LAND_INITIALISE( myThid )
#endif
#if (defined (ALLOW_SEAICE) defined (ALLOW_COST))
C-- Initialise ecco-specific cost function.
C-- This needs to preceed the call ctrl_init
C-- in order to provide the weight files
IF (useSEAICE) CALL SEAICE_COST_INIT_FIXED( myThid )
#endif
#ifdef ALLOW_SMOOTH
CALL SMOOTH_INIT_FIXED(myThid)
#endif /* ALLOW_SMOOTH */
#if (defined (ALLOW_ECCO) defined (ALLOW_COST))
C-- Initialise ecco-specific cost function.
C-- This needs to preceed the call ctrl_init
C-- in order to provide the weight files
CALL ECCO_COST_INIT_FIXED( myThid )
#endif
#ifdef ALLOW_PROFILES
CALL PROFILES_INIT_FIXED( myThid )
#endif
#ifdef ALLOW_AUTODIFF
C-- Initialise the control variables
CALL CTRL_INIT( myThid )
#endif
#ifdef ALLOW_ADMTLM
C-- Initialise ADMTLM
CALL CTRL_ADMTLM( myThid )
#endif
#ifdef ALLOW_FLT
C-- Initialise fixed array for Float pkg
IF ( useFLT ) CALL FLT_INIT_FIXED( myThid )
#endif
#ifdef ALLOW_LONGSTEP
IF (usePTRACERS) CALL LONGSTEP_INIT_FIXED(myThid)
#endif
#ifdef ALLOW_PTRACERS
IF (usePTRACERS) CALL PTRACERS_INIT_FIXED(myThid)
#endif
#ifdef ALLOW_GCHEM
IF (useGCHEM) CALL GCHEM_INIT_FIXED(myThid)
#endif
#ifdef ALLOW_RBCS
IF (useRBCS) CALL RBCS_INIT_FIXED(myThid)
#endif
#ifdef ALLOW_THSICE
IF (useThSIce) CALL THSICE_INIT_FIXED(myThid)
#endif
#ifdef ALLOW_SEAICE
IF (useSEAICE) CALL SEAICE_INIT_FIXED(myThid)
#endif
#ifdef ALLOW_SHELFICE
IF (useShelfIce) CALL SHELFICE_INIT_FIXED( myThid )
#endif /* ALLOW_SHELFICE */
#ifdef ALLOW_ICEFRONT
IF (useICEFRONT) CALL ICEFRONT_INIT_FIXED( myThid )
#endif /* ALLOW_ICEFRONT */
#ifdef ALLOW_EMBED_FILES
IF ( useEMBED_FILES ) CALL EMBED_FILES_INIT( myThid )
#endif
#ifdef ALLOW_REGRID
IF ( useREGRID ) CALL REGRID_INIT_FIXED( myThid )
#endif
#ifdef ALLOW_LAYERS
IF ( useLayers ) CALL LAYERS_INIT_FIXED( myThid )
#endif /* ALLOW_LAYERS */
#ifdef COMPONENT_MODULE
IF ( useCoupler ) CALL CPL_INIT_FIXED( myThid )
#endif
#ifdef ALLOW_ATM2D
IF ( useAtm2d ) CALL ATM2D_INIT_FIXED( myThid )
#endif
#ifdef ALLOW_SALT_PLUME
IF (useSALT_PLUME) CALL SALT_PLUME_INIT_FIXED(myThid)
#endif
#ifdef ALLOW_OASIS
C-- needs to be called after the OASIS_INIT
IF (useOASIS) CALL OASIS_INIT_FIXED(myThid)
#endif
#ifdef ALLOW_MYPACKAGE
IF (useMYPACKAGE) CALL MYPACKAGE_INIT_FIXED(myThid)
#endif
#ifdef ALLOW_DIAGNOSTICS
C- needs to call DIAGNOSTICS_INIT_FIXED after all package-diag-init calls
IF ( useDiagnostics ) CALL DIAGNOSTICS_INIT_FIXED( myThid )
#endif
RETURN
END