C $Header: /u/gcmpack/MITgcm/pkg/autodiff/AUTODIFF_PARAMS.h,v 1.9 2014/06/28 22:41:00 gforget Exp $ C $Name: $ CBOP C !ROUTINE: AUTODIFF_PARAMS.h C !INTERFACE: C #include AUTODIFF_PARAMS.h C !DESCRIPTION: C Header file defining pkg/autodiff "parameters". The values C from the pkg input file are stored into the variables held C here. Notes describing the parameters can also be found here. CEOP C-- COMMON /AUTODIFF_PARM_L/ Logical valued parameters used by the pkg. C inAdMode :: enable approximate computation in backward sweep C inAdTrue :: value of inAdMode flag during backward sweep C inAdFalse :: value of inAdMode flag during forward sweep C inAdExact :: get an exact adjoint (no approximation) LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact C- Logical flags for turning off parts of the code in adjoint mode C SEAICEuseFREEDRIFTswitchInAd :: switch on/off Free-Drift in adjoint mode (def=F) C SEAICEuseDYNAMICSswitchInAd :: switch on/off seaice Dyn in adjoint mode (def=F) LOGICAL useKPPinAdMode, useKPPinFwdMode LOGICAL useGMRediInAdMode, useGMRediInFwdMode LOGICAL useSEAICEinAdMode, useSEAICEinFwdMode LOGICAL useGGL90inAdMode, useGGL90inFwdMode LOGICAL useSALT_PLUMEinAdMode, useSALT_PLUMEInFwdMode LOGICAL SEAICEuseFREEDRIFTswitchInAd, SEAICEuseFREEDRIFTinFwdMode LOGICAL SEAICEuseDYNAMICSswitchInAd, SEAICEuseDYNAMICSinFwdMode LOGICAL useSmoothCorrel2DinAdMode, useSmoothCorrel2DinFwdMode C- Logical for ad dump format (if true then write all records C to one file per variable; else write one file per record) LOGICAL dumpAdByRec COMMON /AUTODIFF_PARM_L/ & inAdMode, inAdTrue, inAdFalse, inAdExact, & useKPPinAdMode, useKPPinFwdMode, & useGMRediInAdMode, useGMRediInFwdMode, & useSEAICEinAdMode, useSEAICEinFwdMode, & useGGL90inAdMode, useGGL90inFwdMode, & useSALT_PLUMEinAdMode, useSALT_PLUMEInFwdMode, & SEAICEuseFREEDRIFTswitchInAd, SEAICEuseFREEDRIFTinFwdMode, & SEAICEuseDYNAMICSswitchInAd, SEAICEuseDYNAMICSinFwdMode, & useSmoothCorrel2DinAdMode, useSmoothCorrel2DinFwdMode, & dumpAdByRec C-- COMMON /AUTODIFF_PARM_I/ Integer valued parameters used by the pkg. C dumpAdVarExch :: control ad-variables exchange before dumping output C mon_AdVarExch :: control ad-variables exchange before monitor output C - for both :: =0 : no exch ; =1 : apply adexch ; C *AdVarExch - :: =2 : do adexch on a local copy. C SEAICEapproxLevInAd :: level of approximation in seaice adjoint C -1 (and .NOT.useSEAICEinAdMode) : use seaice_fake adjoint C 0 (and .NOT.useSEAICEinAdMode) : omit all of seaice thermo adjoint C 0 (and useSEAICEinAdMode) : use all of seaice thermo adjoint C >= 1 (and useSEAICEinAdMode) : omit pieces of seaice thermo adjoint INTEGER dumpAdVarExch INTEGER mon_AdVarExch INTEGER SEAICEapproxLevInAd COMMON /AUTODIFF_PARM_I/ & dumpAdVarExch, mon_AdVarExch, SEAICEapproxLevInAd C-- COMMON /AUTODIFF_PARM_R/ "Real" valued parameters used by the pkg. C viscFacInAd :: viscosity factor for adjoint _RL viscFacInAd COMMON /AUTODIFF_PARM_R/ viscFacInAd C-- COMMON /AUTODIFF_PARM_C/ Character valued parameters used by the pkg. CEH3 ;;; Local Variables: *** CEH3 ;;; mode:fortran *** CEH3 ;;; End: ***