Back to home page

MITgcm

 
 

    


File indexing completed on 2019-01-03 06:09:53 UTC

view on githubraw file Latest commit 148dd840 on 2019-01-02 20:27:27 UTC
6d54cf9ca1 Ed H*0001 #include "PACKAGES_CONFIG.h"
c859c0e3e6 Patr*0002 #include "CPP_OPTIONS.h"
                0003 
                0004 CStartOfInterface
9366854e02 Chri*0005 CBOP
                0006 C     !ROUTINE: PACKAGES_READPARMS
                0007 C     !INTERFACE:
c859c0e3e6 Patr*0008       SUBROUTINE PACKAGES_READPARMS(myThid)
                0009 
9366854e02 Chri*0010 C     !DESCRIPTION: \bv
                0011 C     *==========================================================*
1db41719d4 Jean*0012 C     | SUBROUTINE PACKAGES_READPARMS
                0013 C     | o Read runtime package configuration parameters
9366854e02 Chri*0014 C     *==========================================================*
1db41719d4 Jean*0015 C     |   Packages can have internal runtime configuration
                0016 C     |   parameters. A package provides a routine
                0017 C     |   ${PKGNAME}_READ_PARMS to read these parameters. In
                0018 C     |   general this routine should read parameters from a file
                0019 C     |   called data.${pkgname}.
                0020 C     |   This routine (S/R PACKAGES_READPARMS) calls per-package
                0021 C     |   parameter reading routines.
9366854e02 Chri*0022 C     *==========================================================*
                0023 C     \ev
                0024 
                0025 C     !CALLING SEQUENCE:
                0026 C     PACKAGES_READPARMS
                0027 C       |
c74c95df5c Jean*0028 C       |-- MNC_READPARMS
48121039da Jean*0029 C       |
462fd48b6a Mart*0030 C       |-- CAL_READPARMS
                0031 C       |
173921fccd Mart*0032 C       |-- EXF_READPARMS
                0033 C       |
5593e3ac8c Jean*0034 C       |-- OBCS_READPARMS
9366854e02 Chri*0035 C       |
5593e3ac8c Jean*0036 C       |-- SHAP_FILT_READPARMS
1db41719d4 Jean*0037 C       |
5593e3ac8c Jean*0038 C       |-- ZONAL_FILT_READPARMS
15338fa568 Dimi*0039 C       |
5593e3ac8c Jean*0040 C       |-- OPPS_READPARMS
9366854e02 Chri*0041 C       |
e864122ae8 Mart*0042 C       |-- PP81_READPARMS
                0043 C       |
d8d1486ca1 Jean*0044 C       |-- KL10_READPARMS
                0045 C       |
e864122ae8 Mart*0046 C       |-- MY82_READPARMS
                0047 C       |
69a7b27187 Mart*0048 C       |-- GGL90_READPARMS
                0049 C       |
5593e3ac8c Jean*0050 C       |-- KPP_READPARMS
a6cbc7a360 Mart*0051 C       |
5593e3ac8c Jean*0052 C       |-- GMREDI_READPARMS
5da8ce63fa Dimi*0053 C       |
5593e3ac8c Jean*0054 C       |-- BBL_READPARMS
9366854e02 Chri*0055 C       |
5593e3ac8c Jean*0056 C       |-- DWNSLP_READPARMS
d71c33e3de Jean*0057 C       |
5593e3ac8c Jean*0058 C       |-- BULKF_READPARMS
9366854e02 Chri*0059 C       |
5593e3ac8c Jean*0060 C       |-- EBM_READPARMS
f66c946416 Step*0061 C       |
5593e3ac8c Jean*0062 C       |-- CHEAPAML_READPARMS
48121039da Jean*0063 C       |
5593e3ac8c Jean*0064 C       |-- FLT_READPARMS
9366854e02 Chri*0065 C       |
b9d14ac827 Jean*0066 C       |-- LONGSTEP_READPARMS
b5aa60a554 Dimi*0067 C       |-- PTRACERS_READPARMS
                0068 C       |
48121039da Jean*0069 C       |-- GCHEM_READPARMS
9366854e02 Chri*0070 C       |
b5aa60a554 Dimi*0071 C       |-- RBCS_READPARMS
                0072 C       |
5593e3ac8c Jean*0073 C       |-- OFFLINE_READPARMS
                0074 C       |
                0075 C       |-- MATRIX_READPARMS
                0076 C       |
148dd84005 jm-c 0077 C       |-- STREAMICE_READPARMS
b5aa60a554 Dimi*0078 C       |
5593e3ac8c Jean*0079 C       |-- SHELFICE_READPARMS
                0080 C       |
                0081 C       |-- ICEFRONT_READPARMS
                0082 C       |
148dd84005 jm-c 0083 C       |-- SEAICE_READPARMS
                0084 C       |
                0085 C       |-- SALT_PLUME_READPARMS
                0086 C       |
5593e3ac8c Jean*0087 C       |-- THSICE_READPARMS
86f14fa6df Jean*0088 C       |
b8e989b7a2 Jean*0089 C       |-- LAND_READPARMS
                0090 C       |
3c287b198c Jean*0091 C       |-- AUTODIFF_READPARMS
                0092 C       |
9366854e02 Chri*0093 C       |-- OPTIM_READPARMS
                0094 C       |
48121039da Jean*0095 C       |-- CTRL_READPARMS
                0096 C       |
                0097 C       |-- COST_READPARMS
                0098 C       |
9366854e02 Chri*0099 C       |-- GRDCHK_READPARMS
                0100 C       |
897e729c49 Jean*0101 C       |-- SMOOTH_READPARMS
                0102 C       |
9366854e02 Chri*0103 C       |-- ECCO_READPARMS
c1b6df074d Jean*0104 C       |
93f4e26372 Jean*0105 C       |-- PROFILES_READPARMS
                0106 C       |
5593e3ac8c Jean*0107 C       |-- SBO_READPARMS
ba9a45d563 Jean*0108 C       |
5593e3ac8c Jean*0109 C       |-- ATM_PHYS_READPARMS
48121039da Jean*0110 C       |
                0111 C       |-- FIZHI_READPARMS
                0112 C       |
                0113 C       |-- DIAGNOSTICS_READPARMS
39cebd8084 Ed H*0114 C       |
                0115 C       |-- REGRID_READPARMS
dfc9bc933c Ryan*0116 C       |
                0117 C       |-- LAYERS_READPARMS
                0118 C       |
5593e3ac8c Jean*0119 C       |-- NEST_CHILD_READPARMS
                0120 C       |-- NEST_PARENT_READPARMS
                0121 C       |
6591b3fcc3 Jean*0122 C       |-- NEST2W_C_READPARMS
                0123 C       |-- NEST2W_P_READPARMS
                0124 C       |
5593e3ac8c Jean*0125 C       |-- CPL_READPARMS
                0126 C       |
696c4221e9 Mart*0127 C       |-- OASIS_READPARMS
                0128 C       |
5593e3ac8c Jean*0129 C       |-- RUNCLOCK_READPARMS
                0130 C       |
dfc9bc933c Ryan*0131 C       |-- MYPACKAGE_READPARMS
9366854e02 Chri*0132 
                0133 C     !USES:
                0134       IMPLICIT NONE
c859c0e3e6 Patr*0135 C     == Global variables ==
                0136 #include "SIZE.h"
                0137 #include "EEPARAMS.h"
                0138 #include "PARAMS.h"
                0139 
                0140 C     == Routine arguments ==
                0141       INTEGER myThid
9366854e02 Chri*0142 CEOP
c859c0e3e6 Patr*0143 
cdf6d093b9 Ed H*0144 #ifdef ALLOW_MNC
1219e7c863 Jean*0145 C--   if useMNC=T, read run-time flags for MNC; otherwise just return
                0146       CALL MNC_READPARMS( myThid )
cdf6d093b9 Ed H*0147 #endif
                0148 
462fd48b6a Mart*0149 #ifdef ALLOW_CAL
1219e7c863 Jean*0150 C--   if useCAL=T, set the calendar package parameters.
                0151 C      otherwise, just set cal_setStatus=-1 and return
                0152       CALL CAL_READPARMS( myThid )
462fd48b6a Mart*0153 #endif
                0154 
173921fccd Mart*0155 #ifdef ALLOW_EXF
1219e7c863 Jean*0156 C--   if useEXF=T, set EXF parameters; otherwise just return
                0157       CALL EXF_READPARMS  ( myThid )
173921fccd Mart*0158 #endif
                0159 
5593e3ac8c Jean*0160 #ifdef ALLOW_OBCS
1219e7c863 Jean*0161 C--   if useOBCS=T, set OBCS parameters; otherwise just return
                0162       CALL OBCS_READPARMS( myThid )
c859c0e3e6 Patr*0163 #endif
                0164 
5593e3ac8c Jean*0165 #ifdef ALLOW_SHAP_FILT
1219e7c863 Jean*0166 C--   if useSHAP_FILT=T, set Shapiro-Filter parameters; otherwise just return
                0167       CALL SHAP_FILT_READPARMS( myThid )
1db41719d4 Jean*0168 #endif
                0169 
5593e3ac8c Jean*0170 #ifdef ALLOW_ZONAL_FILT
1219e7c863 Jean*0171 C--   if useZONAL_FILT=T, set Zonal-Filter parameters; otherwise just return
                0172       CALL ZONAL_FILT_READPARMS( myThid )
15338fa568 Dimi*0173 #endif
                0174 
5593e3ac8c Jean*0175 #ifdef ALLOW_OPPS
1219e7c863 Jean*0176 C--   if useOPPS=T, set OPPS parameters; otherwise just return
                0177       CALL OPPS_READPARMS( myThid )
c859c0e3e6 Patr*0178 #endif
                0179 
e864122ae8 Mart*0180 #ifdef ALLOW_PP81
1219e7c863 Jean*0181 C--   if usePP81=T, set PP81 parameters; otherwise just return
                0182       CALL PP81_READPARMS( myThid )
e864122ae8 Mart*0183 #endif
                0184 
d8d1486ca1 Jean*0185 #ifdef ALLOW_KL10
                0186 C--   if useKL10=T, set KL10 parameters; otherwise just return
                0187       CALL KL10_READPARMS( myThid )
                0188 #endif
                0189 
e864122ae8 Mart*0190 #ifdef ALLOW_MY82
1219e7c863 Jean*0191 C--   if useMY82=T, set MY82 parameters; otherwise just return
                0192       CALL MY82_READPARMS( myThid )
e864122ae8 Mart*0193 #endif
                0194 
69a7b27187 Mart*0195 #ifdef ALLOW_GGL90
1219e7c863 Jean*0196 C--   if useGGL90=T, set GGL90 parameters; otherwise just return
                0197       CALL GGL90_READPARMS( myThid )
69a7b27187 Mart*0198 #endif
                0199 
5593e3ac8c Jean*0200 #ifdef ALLOW_KPP
1219e7c863 Jean*0201 C--   if useKPP=T, set KPP parameters; otherwise just return
                0202       CALL KPP_READPARMS( myThid )
aea29c8517 Alis*0203 #endif
                0204 
5593e3ac8c Jean*0205 #ifdef ALLOW_GMREDI
1219e7c863 Jean*0206 C--   if useGMRedi=T, set GM/Redi parameters; otherwise just return
                0207       CALL GMREDI_READPARMS( myThid )
d71c33e3de Jean*0208 #endif
                0209 
5593e3ac8c Jean*0210 #ifdef ALLOW_BBL
1219e7c863 Jean*0211 C--   if useBBL=T, set BBL parameters; otherwise just return
                0212       CALL BBL_READPARMS( myThid )
fb481a83c2 Alis*0213 #endif
                0214 
5593e3ac8c Jean*0215 #ifdef ALLOW_DOWN_SLOPE
1219e7c863 Jean*0216 C--   if useDOWN_SLOPE=T, set Down-Slope flow parameters; otherwise just return
                0217       CALL DWNSLP_READPARMS( myThid )
4e66ab0b67 Oliv*0218 #endif
                0219 
7753507405 Curt*0220 #ifdef ALLOW_BULK_FORCE
1219e7c863 Jean*0221 C--   if useBulkForce=T, set BULKF parameters; otherwise just return
                0222       CALL BULKF_READPARMS( myThid )
6424ee9bc0 Curt*0223 #endif
                0224 
5593e3ac8c Jean*0225 #ifdef ALLOW_EBM
1219e7c863 Jean*0226 C--   if useEBM=T, set EBM parameters; otherwise just return
                0227       CALL EBM_READPARMS( myThid )
6424ee9bc0 Curt*0228 #endif
                0229 
5593e3ac8c Jean*0230 #ifdef ALLOW_CHEAPAML
1219e7c863 Jean*0231 C--   if useCheapAML=T, set CheapAML parameters; otherwise just return
                0232       CALL CHEAPAML_READPARMS( myThid )
5593e3ac8c Jean*0233 #endif
                0234 
                0235 #ifdef ALLOW_FLT
1219e7c863 Jean*0236 C--   if useFLT=T, set Floats (FLT) parameters; otherwise just return
                0237       CALL FLT_READPARMS( myThid )
5593e3ac8c Jean*0238 #endif /* ALLOW_FLT */
                0239 
b9d14ac827 Jean*0240 #ifdef ALLOW_LONGSTEP
1219e7c863 Jean*0241 C--   if usePTRACERS=T, set Long-Step parameters; otherwise just return
                0242 C- note : need to call LONGSTEP_READPARMS before PTRACERS_READPARMS
                0243       CALL LONGSTEP_READPARMS( myThid )
b9d14ac827 Jean*0244 #endif
5c43c390b6 Alis*0245 #ifdef ALLOW_PTRACERS
1219e7c863 Jean*0246 C--   if usePTRACERS=T, set Passive-Traces parameters; otherwise just return
                0247       CALL PTRACERS_READPARMS( myThid )
cf2549e769 Patr*0248 #endif
                0249 
                0250 #ifdef ALLOW_GCHEM
1219e7c863 Jean*0251 C--   if useGCHEM=T, set GCHEM parameters; otherwise just return
                0252       CALL GCHEM_READPARMS( myThid )
5c43c390b6 Alis*0253 #endif
176ce185cd Step*0254 
                0255 #ifdef ALLOW_RBCS
1219e7c863 Jean*0256 C--   if useRBCS=T, set RBCS parameters; otherwise just return
                0257       CALL RBCS_READPARMS( myThid )
176ce185cd Step*0258 #endif
5c43c390b6 Alis*0259 
5593e3ac8c Jean*0260 #ifdef ALLOW_OFFLINE
1219e7c863 Jean*0261 C--   if useOffLine=T, set OFFLINE parameters; otherwise just return
                0262       CALL OFFLINE_READPARMS( myThid )
5593e3ac8c Jean*0263 #endif
                0264 
                0265 #ifdef ALLOW_MATRIX
1219e7c863 Jean*0266 C--   if useMATRIX=T, set MATRIX parameters; otherwise just return
                0267       CALL MATRIX_READPARMS ( myThid )
5593e3ac8c Jean*0268 #endif
                0269 
148dd84005 jm-c 0270 #ifdef ALLOW_STREAMICE
                0271 C--   if useStreamIce=T, set STREAMICE parameters; otherwise just return
                0272       CALL STREAMICE_READPARMS( myThid )
b5aa60a554 Dimi*0273 #endif
                0274 
5593e3ac8c Jean*0275 #ifdef ALLOW_SHELFICE
1219e7c863 Jean*0276 C--   if useShelfIce=T, set SHELFICE parameters; otherwise just return
                0277       CALL SHELFICE_READPARMS( myThid )
5593e3ac8c Jean*0278 #endif
                0279 
                0280 #ifdef ALLOW_ICEFRONT
1219e7c863 Jean*0281 C--   if useICEFRONT=T, set ICEFRONT parameters; otherwise just return
                0282       CALL ICEFRONT_READPARMS( myThid )
5593e3ac8c Jean*0283 #endif
                0284 
148dd84005 jm-c 0285 #ifdef ALLOW_SEAICE
                0286 C--   if useSEAICE=T, set SEAICE parameters; otherwise just return
                0287       CALL SEAICE_READPARMS( myThid )
                0288 #endif
                0289 
                0290 #ifdef ALLOW_SALT_PLUME
                0291 C--   if useSALT_PLUME=T, set SALT_PLUME parameters; otherwise just return
                0292       CALL SALT_PLUME_READPARMS( myThid )
                0293 #endif
                0294 
5593e3ac8c Jean*0295 #ifdef ALLOW_THSICE
1219e7c863 Jean*0296 C--   if useThSIce=T, set Therm.Sea-Ice parameters; otherwise just return
                0297       CALL THSICE_READPARMS( myThid )
86f14fa6df Jean*0298 #endif
                0299 
b8e989b7a2 Jean*0300 #ifdef ALLOW_LAND
                0301 C--   if useLand=T, set LAND pkg parameters; otherwise just return
                0302       CALL LAND_READPARMS( myThid )
                0303 #endif
                0304 
3c287b198c Jean*0305 #ifdef ALLOW_AUTODIFF
                0306 C--   Initialise autodiff parameters
                0307       CALL AUTODIFF_READPARMS( myThid )
                0308 #endif
                0309 
170b439592 Patr*0310 #ifdef ALLOW_CTRL
cccd4faf56 Patr*0311 C--   Initialise the optim. parameters.
1db41719d4 Jean*0312       CALL OPTIM_READPARMS( myThid )
5d7fa54ba5 Patr*0313 C--   Initialise the control parameters
1db41719d4 Jean*0314       CALL CTRL_READPARMS( myThid )
170b439592 Patr*0315 #endif
                0316 
                0317 #ifdef ALLOW_COST
5d7fa54ba5 Patr*0318 C--   Initialise the cost parameters
1db41719d4 Jean*0319       CALL COST_READPARMS( myThid )
cccd4faf56 Patr*0320 #endif
ad9b3080a0 Patr*0321 
edd57506ae Patr*0322 #ifdef ALLOW_GRDCHK
1219e7c863 Jean*0323 C--   if useGrdChk=T, set gradient-check parameters; otherwise just return
                0324       CALL GRDCHK_READPARMS( myThid )
2dcaa8b9a5 Patr*0325 #endif
                0326 
1a5b8b2149 Gael*0327 #ifdef ALLOW_SMOOTH
1219e7c863 Jean*0328 C--   if useSMOOTH=T, set SMOOTH parameters; otherwise just return
                0329       CALL SMOOTH_READPARMS ( myThid )
1a5b8b2149 Gael*0330 #endif
                0331 
438648d0e1 Patr*0332 #ifdef ALLOW_ECCO
c859c0e3e6 Patr*0333 c--   Initialize ECCO package parameters
1db41719d4 Jean*0334       CALL ECCO_READPARMS ( myThid )
c859c0e3e6 Patr*0335 #endif
                0336 
6e4c90fea3 Patr*0337 #ifdef ALLOW_PROFILES
1219e7c863 Jean*0338 C--   if usePROFILES=T, set PROFILES parameters; otherwise just return
                0339       CALL PROFILES_READPARMS ( myThid )
6e4c90fea3 Patr*0340 #endif
                0341 
5593e3ac8c Jean*0342 #ifdef ALLOW_SBO
1219e7c863 Jean*0343 C--   if useSBO=T, set SBO parameters; otherwise just return
                0344       CALL SBO_READPARMS( myThid )
5593e3ac8c Jean*0345 #endif
ba9a45d563 Jean*0346 
5593e3ac8c Jean*0347 #ifdef ALLOW_ATM_PHYS
1219e7c863 Jean*0348 C--   if useAtm_Phys=T, set Atm_Phys parameters; otherwise just return
                0349       CALL ATM_PHYS_READPARMS( myThid )
5593e3ac8c Jean*0350 #endif
c1b6df074d Jean*0351 
6aac8482f6 Andr*0352 #ifdef ALLOW_FIZHI
1219e7c863 Jean*0353 C--   if useFizhi=T, set fizhi parameters; otherwise just return
                0354       CALL FIZHI_READPARMS( myThid )
6aac8482f6 Andr*0355 #endif /* ALLOW_FIZHI */
                0356 
48121039da Jean*0357 #ifdef ALLOW_DIAGNOSTICS
564aee49d1 Jean*0358 C--   if useDiagnostics=T, set diagnostics choices
                0359 C      otherwise, just set pkgStatus=-1 and return
                0360       CALL DIAGNOSTICS_READPARMS( myThid )
48121039da Jean*0361 #endif /* ALLOW_DIAGNOSTICS */
                0362 
39cebd8084 Ed H*0363 #ifdef ALLOW_REGRID
1219e7c863 Jean*0364 C--   if useREGRID=T, set REGRID parameters; otherwise just return
                0365       CALL REGRID_READPARMS( myThid )
39cebd8084 Ed H*0366 #endif /* ALLOW_REGRID */
                0367 
dfc9bc933c Ryan*0368 #ifdef ALLOW_LAYERS
1219e7c863 Jean*0369 C--   if useLayers=T, set layers parameters; otherwise just return
                0370       CALL LAYERS_READPARMS( myThid )
dfc9bc933c Ryan*0371 #endif /* ALLOW_LAYERS */
                0372 
5593e3ac8c Jean*0373 #ifdef ALLOW_NEST_CHILD
                0374 C--    Initialize nest(ing) package parameters x CHILD
                0375        IF (useNEST_CHILD) CALL NEST_CHILD_READPARMS ( myThid )
                0376 #endif /* ALLOW_NEST_CHILD */
                0377 C
                0378 #ifdef ALLOW_NEST_PARENT
                0379 C--    Initialize nest(ing) package parameters x PARENT
                0380        IF (useNEST_PARENT) CALL NEST_PARENT_READPARMS ( myThid )
                0381 #endif /* ALLOW_NEST_PARENT */
                0382 
6591b3fcc3 Jean*0383 #ifdef ALLOW_NEST2W_CHILD
                0384 C--    Initialize Child 2-way nest(ing) package parameters
                0385        IF (useNest2W_child) CALL NEST2W_C_READPARMS( myThid )
                0386 #endif /* ALLOW_NEST2W_CHILD */
                0387 C
                0388 #ifdef ALLOW_NEST2W_PARENT
                0389 C--    Initialize Parent 2-way nest(ing) package parameters
                0390        IF (useNest2W_parent) CALL NEST2W_P_READPARMS( myThid )
                0391 #endif /* ALLOW_NEST2W_PARENT */
                0392 
5593e3ac8c Jean*0393 #ifdef COMPONENT_MODULE
                0394 C--   set Coupling parameters
                0395       IF ( useCoupler ) CALL CPL_READPARMS( myThid )
                0396 #endif /* COMPONENT_MODULE */
                0397 
696c4221e9 Mart*0398 #ifdef ALLOW_OASIS
                0399        IF (useOASIS) CALL OASIS_READPARMS ( myThid )
                0400 #endif
                0401 
5593e3ac8c Jean*0402 #ifdef ALLOW_RUNCLOCK
1219e7c863 Jean*0403 C--   if useRunClock=T, set RUNCLOCK parameters; otherwise just return
                0404       CALL RUNCLOCK_READPARMS( myThid )
5593e3ac8c Jean*0405 #endif
                0406 
dfc9bc933c Ryan*0407 #ifdef ALLOW_MYPACKAGE
1219e7c863 Jean*0408 C--   if useMYPACKAGE=T, set mypackage parameters; otherwise just return
                0409       CALL MYPACKAGE_READPARMS( myThid )
dfc9bc933c Ryan*0410 #endif
                0411 
10e4bbdd7f Jean*0412       RETURN
c859c0e3e6 Patr*0413       END