Back to home page

MITgcm

 
 

    


File indexing completed on 2025-11-07 06:08:46 UTC

view on githubraw file Latest commit b7411f1a on 2025-11-06 19:05:26 UTC
785a077159 Alis*0001 #ifdef ALLOW_PTRACERS
                0002 
                0003 CBOP
0a278985fd Jean*0004 C    !ROUTINE: PTRACERS_PARAMS.h
785a077159 Alis*0005 C    !INTERFACE:
0a278985fd Jean*0006 C #include PTRACERS_PARAMS.h
e6469f285f Jean*0007 
785a077159 Alis*0008 C    !DESCRIPTION:
0a278985fd Jean*0009 C Contains passive tracer parameters.
                0010 
                0011 CEOP
785a077159 Alis*0012 
dc3a357327 Jean*0013 C--   COMMON /PTRACERS_PARAMS_R/ PTRACERS real-type parameters:
                0014 C     PTRACERS_dTLev    :: Timestep for ptracers ( s ), function of level k
dd33ff71a5 Mart*0015 C     PTRACERS_ref      :: vertical profile for passive tracers, in
                0016 C                          analogy to tRef and sRef, hence the name
e6469f285f Jean*0017 C     PTRACERS_EvPrRn   :: tracer concentration in Rain, Evap & RunOff
                0018 C       notes: a) used if both NonLin_FrSurf & useRealFreshWater are set.
                0019 C              b) use pTracer surface (local) value if = UNSET_RL (default)
5d1aafd341 Jean*0020 C     PTRACERS_startStepFwd :: time to start stepping forward this tracer
                0021 C     PTRACERS_resetFreq    :: Frequency (s) to reset ptracers to original val
                0022 C     PTRACERS_resetPhase   :: Phase (s) to reset ptracers
9d36aec500 Dimi*0023 
dc3a357327 Jean*0024       _RL PTRACERS_dTLev(Nr)
55966bc737 Mart*0025       _RL PTRACERS_dumpFreq
0badf4857e Mart*0026       _RL PTRACERS_monitorFreq
785a077159 Alis*0027       _RL PTRACERS_diffKh(PTRACERS_num)
                0028       _RL PTRACERS_diffK4(PTRACERS_num)
d75c5feb26 Jean*0029       _RL PTRACERS_diffKrNr(Nr,PTRACERS_num)
dd33ff71a5 Mart*0030       _RL PTRACERS_ref(Nr,PTRACERS_num)
e6469f285f Jean*0031       _RL PTRACERS_EvPrRn(PTRACERS_num)
5d1aafd341 Jean*0032       _RL PTRACERS_startStepFwd(PTRACERS_num)
                0033       _RL PTRACERS_resetFreq(PTRACERS_num)
                0034       _RL PTRACERS_resetPhase(PTRACERS_num)
0a278985fd Jean*0035       COMMON /PTRACERS_PARAMS_R/
dc3a357327 Jean*0036      &     PTRACERS_dTLev,
0a278985fd Jean*0037      &     PTRACERS_dumpFreq,
                0038      &     PTRACERS_monitorFreq,
                0039      &     PTRACERS_diffKh,
                0040      &     PTRACERS_diffK4,
                0041      &     PTRACERS_diffKrNr,
                0042      &     PTRACERS_ref,
5d1aafd341 Jean*0043      &     PTRACERS_EvPrRn,
                0044      &     PTRACERS_startStepFwd,
                0045      &     PTRACERS_resetFreq,
                0046      &     PTRACERS_resetPhase
0a278985fd Jean*0047 
dc3a357327 Jean*0048 #ifdef ALLOW_COST
d217ad1db8 Oliv*0049 C     COMMON /PTRACERS_OLD_R/ Old (real type) PTRACERS parameters
282caa8385 Jean*0050 C        (to be removed 1 day ...)
                0051       _RL lambdaTr1ClimRelax
                0052       COMMON /PTRACERS_OLD_R/
                0053      &     lambdaTr1ClimRelax
dc3a357327 Jean*0054 #endif
282caa8385 Jean*0055 
dc3a357327 Jean*0056 C--   COMMON /PTRACERS_PARAMS_I/ PTRACERS integer-type parameters:
                0057 C     PTRACERS_numInUse :: number of tracers to use
                0058 C     PTRACERS_Iter0    :: timestep number when tracers are initialized
727f3ba9e2 Jean*0059       INTEGER PTRACERS_Iter0
0dcd950fdd Patr*0060       INTEGER PTRACERS_numInUse
1883875e84 Jean*0061       INTEGER PTRACERS_advScheme(PTRACERS_num)
0a278985fd Jean*0062       COMMON /PTRACERS_PARAMS_I/
                0063      &     PTRACERS_Iter0,
                0064      &     PTRACERS_numInUse,
                0065      &     PTRACERS_advScheme
                0066 
dc3a357327 Jean*0067 C--   COMMON /PTRACERS_PARAMS_L/ PTRACERS logical-type parameters:
fc10d43a89 Jean*0068 C     PTRACERS_ImplVertAdv   :: use Implicit Vertical Advection for this tracer
d217ad1db8 Oliv*0069 C     PTRACERS_MultiDimAdv   :: internal flag (depend on the advection scheme),
                0070 C                               true if this tracer uses Multi-Dim advection
                0071 C     PTRACERS_SOM_Advection :: internal flag (depend on the advection scheme),
                0072 C                               true if this tracer uses 2nd-order moment advection
                0073 C     PTRACERS_AdamsBashGtr  :: internal flag (depend on the advection scheme),
                0074 C                               true if applies Adams-Bashforth on tracer tendency
fc10d43a89 Jean*0075 C     PTRACERS_AdamsBash_Tr  :: internal flag (depend on the advection scheme),
                0076 C                               true if applies Adams-Bashforth on passive Tracer
                0077 C     PTRACERS_useGMRedi(n)  :: true if GM-Redi applies to pTracer n
c2ced55abd Jean*0078 C     PTRACERS_useDWNSLP(n)  :: true if Down-Sloping flow applies to pTracer n
fc10d43a89 Jean*0079 C     PTRACERS_useKPP(n)     :: true if KPP applies to pTracer n
                0080 C     PTRACERS_doAB_onGpTr   :: if Adams-Bashforth time stepping is used, apply
                0081 C                               AB on tracer tendencies (rather than on Tracers)
                0082 C     PTRACERS_addSrelax2EmP :: add Salt relaxation to EmP
dc3a357327 Jean*0083 C     PTRACERS_startAllTrc   :: internal flag, all tracers start at startTime
fc10d43a89 Jean*0084 C     PTRACERS_calcSurfCor   :: calculate Linear Free-Surf source/sink of tracer
0aacb0e819 Oliv*0085 C                               (set internally)
                0086 C     PTRACERS_linFSConserve :: apply mean Free-Surf source/sink at surface
46918f1b26 Jean*0087 C     PTRACERS_stayPositive  :: use Smolarkiewicz Hack to ensure Tracer stays >0
fc10d43a89 Jean*0088 C     PTRACERS_useRecords    :: snap-shot output: put all pTracers in one file
1883875e84 Jean*0089       LOGICAL PTRACERS_ImplVertAdv(PTRACERS_num)
d31276c95b Jean*0090       LOGICAL PTRACERS_MultiDimAdv(PTRACERS_num)
d217ad1db8 Oliv*0091       LOGICAL PTRACERS_SOM_Advection(PTRACERS_num)
d31276c95b Jean*0092       LOGICAL PTRACERS_AdamsBashGtr(PTRACERS_num)
fc10d43a89 Jean*0093       LOGICAL PTRACERS_AdamsBash_Tr(PTRACERS_num)
785a077159 Alis*0094       LOGICAL PTRACERS_useGMRedi(PTRACERS_num)
1db41719d4 Jean*0095       LOGICAL PTRACERS_useDWNSLP(PTRACERS_num)
785a077159 Alis*0096       LOGICAL PTRACERS_useKPP(PTRACERS_num)
0aacb0e819 Oliv*0097       LOGICAL PTRACERS_linFSConserve(PTRACERS_num)
46918f1b26 Jean*0098       LOGICAL PTRACERS_stayPositive(PTRACERS_num)
fc10d43a89 Jean*0099       LOGICAL PTRACERS_doAB_onGpTr
c2ced55abd Jean*0100       LOGICAL PTRACERS_addSrelax2EmP
dc3a357327 Jean*0101       LOGICAL PTRACERS_startAllTrc
4da58558f5 Oliv*0102       LOGICAL PTRACERS_calcSurfCor
fc10d43a89 Jean*0103       LOGICAL PTRACERS_useRecords
e6469f285f Jean*0104       LOGICAL
b7411f1a84 Jean*0105      &     PTRACERS_monitor_stdio, PTRACERS_monitor_mnc,
                0106      &     PTRACERS_snapshot_mdsio, PTRACERS_snapshot_mnc,
50653b81f1 Ed H*0107      &     PTRACERS_pickup_write_mdsio, PTRACERS_pickup_read_mdsio,
                0108      &     PTRACERS_pickup_write_mnc, PTRACERS_pickup_read_mnc
0a278985fd Jean*0109       COMMON /PTRACERS_PARAMS_L/
1883875e84 Jean*0110      &     PTRACERS_ImplVertAdv,
d31276c95b Jean*0111      &     PTRACERS_MultiDimAdv,
d217ad1db8 Oliv*0112      &     PTRACERS_SOM_Advection,
fc10d43a89 Jean*0113      &     PTRACERS_AdamsBashGtr, PTRACERS_AdamsBash_Tr,
46918f1b26 Jean*0114      &     PTRACERS_useGMRedi, PTRACERS_useDWNSLP, PTRACERS_useKPP,
                0115      &     PTRACERS_linFSConserve, PTRACERS_stayPositive,
fc10d43a89 Jean*0116      &     PTRACERS_doAB_onGpTr,
c2ced55abd Jean*0117      &     PTRACERS_addSrelax2EmP,
dc3a357327 Jean*0118      &     PTRACERS_startAllTrc,
4da58558f5 Oliv*0119      &     PTRACERS_calcSurfCor,
fc10d43a89 Jean*0120      &     PTRACERS_useRecords,
b7411f1a84 Jean*0121      &     PTRACERS_snapshot_mdsio, PTRACERS_snapshot_mnc,
de55280acd Mart*0122      &     PTRACERS_monitor_stdio, PTRACERS_monitor_mnc,
b7411f1a84 Jean*0123      &     PTRACERS_pickup_write_mdsio, PTRACERS_pickup_read_mdsio,
50653b81f1 Ed H*0124      &     PTRACERS_pickup_write_mnc, PTRACERS_pickup_read_mnc
785a077159 Alis*0125 
dc3a357327 Jean*0126 C--   COMMON /PTRACERS_PARAMS_C/ PTRACERS character-type parameters:
0a278985fd Jean*0127       CHARACTER*(MAX_LEN_FNAM) PTRACERS_initialFile(PTRACERS_num)
                0128       CHARACTER*(MAX_LEN_FNAM) PTRACERS_names(PTRACERS_num)
                0129       CHARACTER*(MAX_LEN_FNAM) PTRACERS_long_names(PTRACERS_num)
                0130       CHARACTER*(MAX_LEN_FNAM) PTRACERS_units(PTRACERS_num)
                0131       COMMON /PTRACERS_PARAMS_C/
                0132      &     PTRACERS_initialFile,
                0133      &     PTRACERS_names,
                0134      &     PTRACERS_long_names,
                0135      &     PTRACERS_units
de55280acd Mart*0136 
01111eb599 Jean*0137 C     COMMON /PTRACERS_LABELS/ holds pTracers labels
                0138 C     PTRACERS_ioLabel  :: pTracer I/O & diagnostics label (2 charecters long)
                0139       COMMON /PTRACERS_LABELS/
                0140      &     PTRACERS_ioLabel
                0141       CHARACTER*2              PTRACERS_ioLabel(PTRACERS_num)
                0142 
785a077159 Alis*0143 #endif /* ALLOW_PTRACERS */
d2825c6d08 Ed H*0144 
                0145 CEH3 ;;; Local Variables: ***
                0146 CEH3 ;;; mode:fortran ***
                0147 CEH3 ;;; End: ***