Ignore:
Timestamp:
May 25, 2020, 4:59:56 PM (5 years ago)
Author:
slebonnois
Message:

SL: update of the Cp(T) documentation

Location:
trunk/DOC/documentation
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/DOC/documentation/cpdet.tex

    r108 r2331  
    112112\section{Pratical aspects in the code}
    113113
    114 A specific file has been added to the dynamical core, \textsf{cpdet.F}, which includes
     114A specific file has been added to the dynamical core, \textsf{dyn3d\_common/cpdet\_mod.F90}, which includes
    115115all the needed routines to take the $C_p(T)$ possibility into account.
    116 These routines take advantage of the keyword \textsf{planet\_type} to
    117 implement different expressions of $C_p(T)$. These routines are:
     116These routines take advantage of the boolean flag \textsf{cpofT} (declared in \textsf{gcm.def}, default is T for Venus, F otherwise)
     117to implement different expressions of $C_p(T)$.
     118It could also use the keyword \textsf{planet\_type} if needed to distinguish different planets.
     119
     120These routines are:
    118121\begin{itemize}
    119122\item \textsf{ini\_cpdet}: initializes the parameters $\nu$ (\textsf{nu\_venus})
    120123and $T_0$ (\textsf{t0\_venus}) to either the Venus values, or zero.
    121124It is called just once at the begining of the main routine.
    122 These parameters are declared in \textsf{comconst.h}.
     125These parameters are declared in \textsf{comconst\_mod.F90}.
    123126\item \textsf{cpdet}: function, that computes $C_p$ for a given $T$.
    124127For other planets than Venus, it is just \textsf{cpdet(T)=cpp}.
    125128\item \textsf{t2tpot}: converts a temperature vector to a potential temperature
    126 vector.
     129vector. Serial \textsf{t2tpot} and parallel \textsf{t2tpot\_p} versions.
    127130\item \textsf{tpot2t}: converts a potential temperature vector to a temperature
    128 vector.
     131vector. Serial \textsf{tpot2t} and parallel \textsf{tpot2t\_p} versions.
    129132\end{itemize}
    130133
    131 In the routines, instead of using the constants \textsf{cpp} (dynamical core)
    132 or \textsf{RCPD} (physical module), we need to use the
    133 function \textsf{cpdet(T)} where T is the temperature at a given point.
     134In the physics, these routines are also defined \textsf{phyvenus/cpdet\_phy\_mod.F90}.
     135They are initialized with \textsf{init\_cpdet\_phy} that is called from the dynamics/physics interface,
     136passing the \textsf{cpp}, \textsf{t0\_venus} and \textsf{nu\_venus} variables.
     137The value of \textsf{t0\_venus} (0 or not) is used to determine the expression of $C_p(T)$.
     138
     139For Venus, in the dynamics/physics interface, the routine \textsf{suphec(cpp)} needed to be called to initialize \textsf{RCPD=cpp} in the physics.
     140In the routines, instead of using the constants \textsf{cpp} (dynamical core) or \textsf{RCPD} (physical module), we need to use the function \textsf{cpdet(T)} where T is the temperature at a given point.
    134141
    135142Since the potential temperature is the variable used in the dynamical core,
Note: See TracChangeset for help on using the changeset viewer.