- Timestamp:
- May 25, 2020, 4:59:56 PM (5 years ago)
- Location:
- trunk/DOC/documentation
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/DOC/documentation/cpdet.tex
r108 r2331 112 112 \section{Pratical aspects in the code} 113 113 114 A specific file has been added to the dynamical core, \textsf{ cpdet.F}, which includes114 A specific file has been added to the dynamical core, \textsf{dyn3d\_common/cpdet\_mod.F90}, which includes 115 115 all 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: 116 These routines take advantage of the boolean flag \textsf{cpofT} (declared in \textsf{gcm.def}, default is T for Venus, F otherwise) 117 to implement different expressions of $C_p(T)$. 118 It could also use the keyword \textsf{planet\_type} if needed to distinguish different planets. 119 120 These routines are: 118 121 \begin{itemize} 119 122 \item \textsf{ini\_cpdet}: initializes the parameters $\nu$ (\textsf{nu\_venus}) 120 123 and $T_0$ (\textsf{t0\_venus}) to either the Venus values, or zero. 121 124 It is called just once at the begining of the main routine. 122 These parameters are declared in \textsf{comconst .h}.125 These parameters are declared in \textsf{comconst\_mod.F90}. 123 126 \item \textsf{cpdet}: function, that computes $C_p$ for a given $T$. 124 127 For other planets than Venus, it is just \textsf{cpdet(T)=cpp}. 125 128 \item \textsf{t2tpot}: converts a temperature vector to a potential temperature 126 vector. 129 vector. Serial \textsf{t2tpot} and parallel \textsf{t2tpot\_p} versions. 127 130 \item \textsf{tpot2t}: converts a potential temperature vector to a temperature 128 vector. 131 vector. Serial \textsf{tpot2t} and parallel \textsf{tpot2t\_p} versions. 129 132 \end{itemize} 130 133 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. 134 In the physics, these routines are also defined \textsf{phyvenus/cpdet\_phy\_mod.F90}. 135 They are initialized with \textsf{init\_cpdet\_phy} that is called from the dynamics/physics interface, 136 passing the \textsf{cpp}, \textsf{t0\_venus} and \textsf{nu\_venus} variables. 137 The value of \textsf{t0\_venus} (0 or not) is used to determine the expression of $C_p(T)$. 138 139 For Venus, in the dynamics/physics interface, the routine \textsf{suphec(cpp)} needed to be called to initialize \textsf{RCPD=cpp} in the physics. 140 In 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. 134 141 135 142 Since the potential temperature is the variable used in the dynamical core,
Note: See TracChangeset
for help on using the changeset viewer.