- Timestamp:
- Jul 24, 2017, 5:06:29 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/LMDZ.GENERIC/DOC/main.aux ¶
r987 r1746 28 28 \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Physical/dynamical interface}}{5}} 29 29 \newlabel{fg:fidyn}{{2.1}{5}} 30 \@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Dynamical and physical grids for a 6 $\times $ 7 horizontal resolution. In the dynamics (but not in the physics) winds u and v are on specific staggered grids. Other dynamical variables are on the dynamical ``scalar'' grid. The physics uses the same ``scalar'' grid for all the variables, except that nodes are indexed in a single vector containing NGRID=2+(JM-1)$\times $IM points when counting from the north pole. N.B.: In the Fortran program, the following variables are used: {\tt iim=IM , iip1=IM+1, jjm=JM , jjp1=JM+1}.}}{5}} 31 \newlabel{fg:grid}{{2.2}{5}} 30 32 \@writefile{toc}{\contentsline {section}{\numberline {2.3}Grid boxes:}{5}} 31 33 \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Horizontal grids}{5}} 32 \@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Dynamical and physical grids for a 6 $\times $ 7 horizontal resolution. In the dynamics (but not in the physics) winds u and v are on specific staggered grids. Other dynamical variables are on the dynamical ``scalar'' grid. The physics uses the same ``scalar'' grid for all the variables, except that nodes are indexed in a single vector containing NGRID=2+(JM-1)$\times $IM points when counting from the north pole. N.B.: In the Fortran program, the following variables are used: {\tt iim=IM , iip1=IM+1, jjm=JM , jjp1=JM+1}.}}{6}} 33 \newlabel{fg:grid}{{2.2}{6}} 34 \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Vertical grids}{7}} 35 \@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces hybrides}}{7}} 36 \newlabel{fg:hybrid}{{2.3}{7}} 37 \@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Vertical grid description of the {\tt llm (or nlayer)} atmospheric layers in the programming code ({\tt llm} is the variable used in the dynamical part, and {\tt nlayer} is used in the physical part). Variables {\tt ap, bp} and {\tt aps, bps} indicate the hybrid levels at the interlayer levels and at middle of the layers respectively. Pressure at the interlayer is $Plev(l)=ap(l)+bp(l) \times Ps$ and pressure in the middle of the layer is defined by $Play(l)=aps(l)+bps(l) \times Ps$, (where $Ps$ is surface pressure). Sigma coordinates are merely a specific case of hybrid coordinates such that $aps=0$ and $bps=P/Ps$. Note that for the hybrid coordinates, $bps=0$ above $\sim 50$~km, leading to purely pressure levels. The user can choose whether to run the model using hybrid coordinates or not by setting variable {\tt hybrid} in run.def to True or False.}}{8}} 38 \newlabel{fg:sigma}{{2.4}{8}} 39 \@writefile{toc}{\contentsline {section}{\numberline {2.4}Variables used in the model}{9}} 40 \@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Dynamical variables}{9}} 41 \@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}Physical variables}{9}} 42 \@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Tracers}{10}} 34 \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Vertical grids}{6}} 35 \@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces hybrides}}{6}} 36 \newlabel{fg:hybrid}{{2.3}{6}} 37 \@writefile{toc}{\contentsline {section}{\numberline {2.4}Variables used in the model}{6}} 38 \@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Dynamical variables}{6}} 39 \@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Vertical grid description of the {\tt llm (or nlayer)} atmospheric layers in the programming code ({\tt llm} is the variable used in the dynamical part, and {\tt nlayer} is used in the physical part). Variables {\tt ap, bp} and {\tt aps, bps} indicate the hybrid levels at the interlayer levels and at middle of the layers respectively. Pressure at the interlayer is $Plev(l)=ap(l)+bp(l) \times Ps$ and pressure in the middle of the layer is defined by $Play(l)=aps(l)+bps(l) \times Ps$, (where $Ps$ is surface pressure). Sigma coordinates are merely a specific case of hybrid coordinates such that $aps=0$ and $bps=P/Ps$. Note that for the hybrid coordinates, $bps=0$ above $\sim 50$~km, leading to purely pressure levels. The user can choose whether to run the model using hybrid coordinates or not by setting variable {\tt hybrid} in run.def to True or False.}}{7}} 40 \newlabel{fg:sigma}{{2.4}{7}} 41 \@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}Physical variables}{8}} 42 \@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Tracers}{8}} 43 43 \citation{Holt:79} 44 44 \citation{LeVa:89} 45 45 \citation{Arak:77} 46 \@writefile{toc}{\contentsline {chapter}{\numberline {3}3D Dynamical Code}{ 11}}46 \@writefile{toc}{\contentsline {chapter}{\numberline {3}3D Dynamical Code}{9}} 47 47 \@writefile{lof}{\addvspace {10\p@ }} 48 48 \@writefile{lot}{\addvspace {10\p@ }} 49 \newlabel{sc:dynamic}{{3}{ 11}}50 \@writefile{toc}{\contentsline {section}{\numberline {3.1}Discretisation of the dynamical equations}{ 11}}51 \@writefile{ toc}{\contentsline {paragraph}{la pression extensive:}{11}}52 \ @writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Grille obtenue avec 96 points en longitude et 73 en latitude et un zoom d'un facteur 3 centr\'e sur la m\'edit\'erann\'ee (grille utilis\'ee au laboratoire par Ali Harzallah)}}{12}}53 \ newlabel{fg:zoom}{{3.1}{12}}54 \ @writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Disposition des variables dans la grille du LMD}}{13}}55 \ newlabel{fg:grille}{{3.2}{13}}56 \@writefile{toc}{\contentsline {paragraph}{les trois composantes du flux de masse:}{1 3}}57 \@writefile{toc}{\contentsline {paragraph}{le facteur de Coriolis multipli\'e par l'aire de la maille:}{1 3}}58 \@writefile{toc}{\contentsline {paragraph}{la vorticit\'e potentielle absolue:}{1 3}}59 \@writefile{toc}{\contentsline {paragraph}{l'\'energie cin\'etique}{1 3}}60 \@writefile{toc}{\contentsline {paragraph}{\'equations du mouvement:}{1 3}}61 \newlabel{eq:u1}{{3.5}{1 3}}62 \newlabel{eq:v1}{{3.6}{1 3}}63 \@writefile{toc}{\contentsline {paragraph}{\'equation thermodynamique:}{1 4}}64 \newlabel{eq:thermo}{{3.7}{1 4}}65 \@writefile{toc}{\contentsline {paragraph}{\'equation hydrostatique:}{1 4}}66 \@writefile{toc}{\contentsline {paragraph}{\'equations de continuit\'e:}{1 4}}67 \newlabel{eq:cont1}{{3.9}{1 4}}68 \newlabel{eq:cont2}{{3.10}{1 4}}69 \@writefile{toc}{\contentsline {section}{\numberline {3.2}High latitude filters}{1 4}}70 \@writefile{toc}{\contentsline {section}{\numberline {3.3}Dissipation}{1 4}}71 \@writefile{toc}{\contentsline {section}{\numberline {3.4}Sponge layer}{1 5}}49 \newlabel{sc:dynamic}{{3}{9}} 50 \@writefile{toc}{\contentsline {section}{\numberline {3.1}Discretisation of the dynamical equations}{9}} 51 \@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Grille obtenue avec 96 points en longitude et 73 en latitude et un zoom d'un facteur 3 centr\'e sur la m\'edit\'erann\'ee (grille utilis\'ee au laboratoire par Ali Harzallah)}}{9}} 52 \newlabel{fg:zoom}{{3.1}{9}} 53 \@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Disposition des variables dans la grille du LMD}}{10}} 54 \newlabel{fg:grille}{{3.2}{10}} 55 \@writefile{toc}{\contentsline {paragraph}{la pression extensive:}{10}} 56 \@writefile{toc}{\contentsline {paragraph}{les trois composantes du flux de masse:}{10}} 57 \@writefile{toc}{\contentsline {paragraph}{le facteur de Coriolis multipli\'e par l'aire de la maille:}{10}} 58 \@writefile{toc}{\contentsline {paragraph}{la vorticit\'e potentielle absolue:}{10}} 59 \@writefile{toc}{\contentsline {paragraph}{l'\'energie cin\'etique}{10}} 60 \@writefile{toc}{\contentsline {paragraph}{\'equations du mouvement:}{10}} 61 \newlabel{eq:u1}{{3.5}{10}} 62 \newlabel{eq:v1}{{3.6}{10}} 63 \@writefile{toc}{\contentsline {paragraph}{\'equation thermodynamique:}{10}} 64 \newlabel{eq:thermo}{{3.7}{10}} 65 \@writefile{toc}{\contentsline {paragraph}{\'equation hydrostatique:}{11}} 66 \@writefile{toc}{\contentsline {paragraph}{\'equations de continuit\'e:}{11}} 67 \newlabel{eq:cont1}{{3.9}{11}} 68 \newlabel{eq:cont2}{{3.10}{11}} 69 \@writefile{toc}{\contentsline {section}{\numberline {3.2}High latitude filters}{11}} 70 \@writefile{toc}{\contentsline {section}{\numberline {3.3}Dissipation}{11}} 71 \@writefile{toc}{\contentsline {section}{\numberline {3.4}Sponge layer}{12}} 72 72 \citation{Forg:99} 73 73 \citation{Forg:99} 74 74 \citation{Lewi:99} 75 \@writefile{toc}{\contentsline {chapter}{\numberline {4}Physical parameterizations of the generic model: some references}{1 6}}75 \@writefile{toc}{\contentsline {chapter}{\numberline {4}Physical parameterizations of the generic model: some references}{13}} 76 76 \@writefile{lof}{\addvspace {10\p@ }} 77 77 \@writefile{lot}{\addvspace {10\p@ }} 78 \newlabel{sc:phystd}{{4}{1 6}}79 \@writefile{toc}{\contentsline {section}{\numberline {4.1}General}{1 6}}80 \@writefile{toc}{\contentsline {paragraph}{General references:}{1 6}}81 \@writefile{toc}{\contentsline {section}{\numberline {4.2}Radiative transfer}{1 6}}82 \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}\bf Absorption/emission and diffusion by dust:}{1 6}}78 \newlabel{sc:phystd}{{4}{13}} 79 \@writefile{toc}{\contentsline {section}{\numberline {4.1}General}{13}} 80 \@writefile{toc}{\contentsline {paragraph}{General references:}{13}} 81 \@writefile{toc}{\contentsline {section}{\numberline {4.2}Radiative transfer}{13}} 82 \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}\bf Absorption/emission and diffusion by dust:}{13}} 83 83 \citation{Toon:89} 84 84 \citation{Forg:98grl} … … 90 90 \citation{Hour:99} 91 91 \citation{Mont:04jgr} 92 \@writefile{toc}{\contentsline {section}{\numberline {4.3}Subgrid atmospheric dynamical processes}{1 7}}93 \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Turbulent diffusion in the upper layer}{1 7}}94 \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}Convection}{1 7}}95 \@writefile{toc}{\contentsline {section}{\numberline {4.4}Surface thermal conduction}{1 7}}96 \@writefile{toc}{\contentsline {section}{\numberline {4.5}CO$_2$ Condensation}{1 7}}97 \@writefile{toc}{\contentsline {section}{\numberline {4.6}Tracer transport and sources}{1 7}}98 \@writefile{toc}{\contentsline {chapter}{\numberline {5}Running the model: a practice simulation}{1 9}}92 \@writefile{toc}{\contentsline {section}{\numberline {4.3}Subgrid atmospheric dynamical processes}{14}} 93 \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Turbulent diffusion in the upper layer}{14}} 94 \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}Convection}{14}} 95 \@writefile{toc}{\contentsline {section}{\numberline {4.4}Surface thermal conduction}{14}} 96 \@writefile{toc}{\contentsline {section}{\numberline {4.5}CO$_2$ Condensation}{14}} 97 \@writefile{toc}{\contentsline {section}{\numberline {4.6}Tracer transport and sources}{14}} 98 \@writefile{toc}{\contentsline {chapter}{\numberline {5}Running the model: a practice simulation}{16}} 99 99 \@writefile{lof}{\addvspace {10\p@ }} 100 100 \@writefile{lot}{\addvspace {10\p@ }} 101 \newlabel{loc:contact1}{{5}{19}} 102 \@writefile{toc}{\contentsline {section}{\numberline {5.1}Installing the model from SVN}{19}} 103 \@writefile{toc}{\contentsline {section}{\numberline {5.2}Installing the model without SVN}{21}} 104 \@writefile{toc}{\contentsline {section}{\numberline {5.3}Compiling the model}{21}} 105 \newlabel{sc:run1}{{5.3}{21}} 106 \@writefile{toc}{\contentsline {section}{\numberline {5.4}Input files (initial states and def files)}{22}} 107 \@writefile{toc}{\contentsline {section}{\numberline {5.5}Running the model}{22}} 108 \@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Input/output data}}{23}} 109 \newlabel{fig:inout}{{5.1}{23}} 110 \@writefile{toc}{\contentsline {section}{\numberline {5.6}Visualizing the output files}{24}} 111 \@writefile{toc}{\contentsline {subsection}{\numberline {5.6.1}Using GrAds to visualize outputs}{24}} 112 \newlabel{loc:visu}{{5.6.1}{24}} 113 \@writefile{toc}{\contentsline {section}{\numberline {5.7}Resuming a simulation}{25}} 114 \@writefile{toc}{\contentsline {section}{\numberline {5.8}Chain simulations}{25}} 115 \@writefile{toc}{\contentsline {section}{\numberline {5.9}Creating and modifying initial states}{25}} 116 \newlabel{sc:newstart}{{5.9}{25}} 117 \@writefile{toc}{\contentsline {subsection}{\numberline {5.9.1}Using program ``newstart''}{25}} 118 \@writefile{toc}{\contentsline {subsection}{\numberline {5.9.2}Creating the initial start\_archive.nc file }{27}} 119 \@writefile{toc}{\contentsline {subsection}{\numberline {5.9.3}Changing the horizontal or vertical grid resolution}{27}} 101 \newlabel{loc:contact1}{{5}{16}} 102 \@writefile{toc}{\contentsline {section}{\numberline {5.1}Installing the model from SVN}{16}} 103 \@writefile{toc}{\contentsline {section}{\numberline {5.2}Installing the model without SVN}{18}} 104 \@writefile{toc}{\contentsline {section}{\numberline {5.3}Compiling the LMDZ.GENERIC model (sequential only)}{18}} 105 \newlabel{sc:run1}{{5.3}{18}} 106 \@writefile{toc}{\contentsline {section}{\numberline {5.4}Compiling the LMDZ.COMMON model (sequential or parallel)}{19}} 107 \newlabel{sc:run1_common}{{5.4}{19}} 108 \@writefile{toc}{\contentsline {section}{\numberline {5.5}Input files (initial states and def files)}{20}} 109 \@writefile{toc}{\contentsline {section}{\numberline {5.6}Running the model}{20}} 110 \@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Input/output data}}{21}} 111 \newlabel{fig:inout}{{5.1}{21}} 112 \@writefile{toc}{\contentsline {section}{\numberline {5.7}Visualizing the output files}{23}} 113 \@writefile{toc}{\contentsline {subsection}{\numberline {5.7.1}Using GrAds to visualize outputs}{23}} 114 \newlabel{loc:visu}{{5.7.1}{24}} 115 \@writefile{toc}{\contentsline {section}{\numberline {5.8}Resuming a simulation}{24}} 116 \@writefile{toc}{\contentsline {section}{\numberline {5.9}Chain simulations}{24}} 117 \@writefile{toc}{\contentsline {section}{\numberline {5.10}Creating and modifying initial states}{25}} 118 \newlabel{sc:newstart}{{5.10}{25}} 119 \@writefile{toc}{\contentsline {subsection}{\numberline {5.10.1}Using program ``newstart''}{25}} 120 \@writefile{toc}{\contentsline {subsection}{\numberline {5.10.2}Creating the initial start\_archive.nc file }{26}} 121 \@writefile{toc}{\contentsline {subsection}{\numberline {5.10.3}Changing the horizontal or vertical grid resolution}{27}} 120 122 \@writefile{toc}{\contentsline {chapter}{\numberline {6}Program organization and compilation script}{28}} 121 123 \@writefile{lof}{\addvspace {10\p@ }} … … 124 126 \newlabel{loc:contenu}{{6}{28}} 125 127 \@writefile{toc}{\contentsline {section}{\numberline {6.1}Organization of the model source files}{28}} 128 \@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Organigram of subroutine function physiq.F90}}{29}} 129 \newlabel{fg:organi_phys}{{6.1}{29}} 126 130 \@writefile{toc}{\contentsline {section}{\numberline {6.2}Programming}{29}} 127 131 \@writefile{toc}{\contentsline {section}{\numberline {6.3}Model organization}{29}} 128 132 \@writefile{toc}{\contentsline {section}{\numberline {6.4}Compiling the model}{29}} 129 133 \newlabel{sc:compil1}{{6.4}{29}} 130 \@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Organigram of subroutine function physiq.F90}}{30}} 131 \newlabel{fg:organi_phys}{{6.1}{30}} 132 \@writefile{toc}{\contentsline {paragraph}{Help manual for the makegcm script}{31}} 133 \@writefile{toc}{\contentsline {chapter}{\numberline {7}Input/Output}{33}} 134 \@writefile{toc}{\contentsline {paragraph}{Help manual for the makegcm script}{30}} 135 \@writefile{toc}{\contentsline {chapter}{\numberline {7}Input/Output}{32}} 134 136 \@writefile{lof}{\addvspace {10\p@ }} 135 137 \@writefile{lot}{\addvspace {10\p@ }} 136 \newlabel{sc:io}{{7}{3 3}}137 \@writefile{toc}{\contentsline {section}{\numberline {7.1}NetCDF format}{3 3}}138 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}NetCDF file editor: ncdump}{3 3}}139 \@writefile{toc}{\contentsline {paragraph}{Main commands for ncdump}{3 3}}140 \@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces Example of temperature data (in this case for present-day Mars) at a given time using GrADS visualization}}{3 4}}141 \newlabel{fg:grads}{{7.1}{3 4}}142 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Graphic visualization of the NetCDF files using GrAds}{3 4}}143 \@writefile{toc}{\contentsline {section}{\numberline {7.2}Input and parameter files}{3 4}}144 \newlabel{loc:entrees}{{7.2}{3 4}}145 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}run.def}{3 5}}146 \newlabel{vb:run.def}{{7.2.1}{3 5}}147 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}callphys.def}{3 7}}148 \newlabel{sc:callphys.def}{{7.2.2}{3 7}}149 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}traceur.def}{3 9}}150 \newlabel{sc:traceur.def}{{7.2.3}{3 9}}151 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.4}z2sig.def}{3 9}}152 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.5}Initialization files: start and startfi}{ 40}}153 \@writefile{lof}{\contentsline {figure}{\numberline {7.2}{\ignorespaces Organization of NetCDF files }}{ 41}}154 \newlabel{fg:netcdf}{{7.2}{ 41}}155 \@writefile{toc}{\contentsline {paragraph}{Physical and dynamical headers}{4 3}}156 \@writefile{toc}{\contentsline {paragraph}{Surface conditions}{4 3}}157 \@writefile{toc}{\contentsline {paragraph}{Physical and dynamical state variables}{4 3}}158 \@writefile{toc}{\contentsline {paragraph}{The ``control'' array}{4 4}}159 \@writefile{toc}{\contentsline {section}{\numberline {7.3}Output files}{4 6}}160 \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}NetCDF restart files - restart.nc and restartfi.nc}{4 6}}161 \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.2} NetCDF file - diagfi.nc}{4 6}}162 \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.3}Stats files}{4 7}}163 \@writefile{toc}{\contentsline {chapter}{\numberline {8}Water Cycle Simulation}{5 1}}138 \newlabel{sc:io}{{7}{32}} 139 \@writefile{toc}{\contentsline {section}{\numberline {7.1}NetCDF format}{32}} 140 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}NetCDF file editor: ncdump}{32}} 141 \@writefile{toc}{\contentsline {paragraph}{Main commands for ncdump}{32}} 142 \@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces Example of temperature data (in this case for present-day Mars) at a given time using GrADS visualization}}{33}} 143 \newlabel{fg:grads}{{7.1}{33}} 144 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Graphic visualization of the NetCDF files using GrAds}{33}} 145 \@writefile{toc}{\contentsline {section}{\numberline {7.2}Input and parameter files}{33}} 146 \newlabel{loc:entrees}{{7.2}{33}} 147 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}run.def}{33}} 148 \newlabel{vb:run.def}{{7.2.1}{33}} 149 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}callphys.def}{36}} 150 \newlabel{sc:callphys.def}{{7.2.2}{36}} 151 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}traceur.def}{38}} 152 \newlabel{sc:traceur.def}{{7.2.3}{38}} 153 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.4}z2sig.def}{38}} 154 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.5}Initialization files: start and startfi}{39}} 155 \@writefile{lof}{\contentsline {figure}{\numberline {7.2}{\ignorespaces Organization of NetCDF files }}{39}} 156 \newlabel{fg:netcdf}{{7.2}{39}} 157 \@writefile{toc}{\contentsline {paragraph}{Physical and dynamical headers}{41}} 158 \@writefile{toc}{\contentsline {paragraph}{Surface conditions}{41}} 159 \@writefile{toc}{\contentsline {paragraph}{Physical and dynamical state variables}{41}} 160 \@writefile{toc}{\contentsline {paragraph}{The ``control'' array}{42}} 161 \@writefile{toc}{\contentsline {section}{\numberline {7.3}Output files}{45}} 162 \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}NetCDF restart files - restart.nc and restartfi.nc}{45}} 163 \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.2} NetCDF file - diagfi.nc}{45}} 164 \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.3}Stats files}{46}} 165 \@writefile{toc}{\contentsline {chapter}{\numberline {8}Water Cycle Simulation}{50}} 164 166 \@writefile{lof}{\addvspace {10\p@ }} 165 167 \@writefile{lot}{\addvspace {10\p@ }} 166 \newlabel{sc:water}{{8}{5 1}}167 \@writefile{toc}{\contentsline {chapter}{\numberline {9}1D version of the generic model}{5 4}}168 \newlabel{sc:water}{{8}{50}} 169 \@writefile{toc}{\contentsline {chapter}{\numberline {9}1D version of the generic model}{53}} 168 170 \@writefile{lof}{\addvspace {10\p@ }} 169 171 \@writefile{lot}{\addvspace {10\p@ }} 170 \newlabel{sc:rcm1d}{{9}{5 4}}171 \@writefile{toc}{\contentsline {section}{\numberline {9.1}Compilation}{5 4}}172 \@writefile{toc}{\contentsline {section}{\numberline {9.2}1-D runs and input files}{5 4}}173 \@writefile{toc}{\contentsline {section}{\numberline {9.3}Output data}{5 6}}174 \@writefile{toc}{\contentsline {chapter}{\numberline {10}Zoomed simulations}{5 7}}172 \newlabel{sc:rcm1d}{{9}{53}} 173 \@writefile{toc}{\contentsline {section}{\numberline {9.1}Compilation}{53}} 174 \@writefile{toc}{\contentsline {section}{\numberline {9.2}1-D runs and input files}{53}} 175 \@writefile{toc}{\contentsline {section}{\numberline {9.3}Output data}{55}} 176 \@writefile{toc}{\contentsline {chapter}{\numberline {10}Zoomed simulations}{56}} 175 177 \@writefile{lof}{\addvspace {10\p@ }} 176 178 \@writefile{lot}{\addvspace {10\p@ }} 177 \newlabel{sc:zoom}{{10}{5 7}}178 \@writefile{toc}{\contentsline {section}{\numberline {10.1}To define the zoomed area}{5 7}}179 \@writefile{toc}{\contentsline {section}{\numberline {10.2}Making a zoomed initial state}{5 7}}180 \@writefile{toc}{\contentsline {section}{\numberline {10.3}Running a zoomed simulation and stability issue}{5 8}}181 \@writefile{toc}{\contentsline {chapter}{\numberline {11}Changing the radiative transfer properties}{5 9}}179 \newlabel{sc:zoom}{{10}{56}} 180 \@writefile{toc}{\contentsline {section}{\numberline {10.1}To define the zoomed area}{56}} 181 \@writefile{toc}{\contentsline {section}{\numberline {10.2}Making a zoomed initial state}{56}} 182 \@writefile{toc}{\contentsline {section}{\numberline {10.3}Running a zoomed simulation and stability issue}{57}} 183 \@writefile{toc}{\contentsline {chapter}{\numberline {11}Changing the radiative transfer properties}{58}} 182 184 \@writefile{lof}{\addvspace {10\p@ }} 183 185 \@writefile{lot}{\addvspace {10\p@ }} 184 \newlabel{sc:kspectrum}{{11}{5 9}}185 \@writefile{toc}{\contentsline {section}{\numberline {11.1}Producing the high-resolution data}{5 9}}186 \@writefile{toc}{\contentsline {section}{\numberline {11.2}Performing the correlated-k conversion}{ 60}}186 \newlabel{sc:kspectrum}{{11}{58}} 187 \@writefile{toc}{\contentsline {section}{\numberline {11.1}Producing the high-resolution data}{58}} 188 \@writefile{toc}{\contentsline {section}{\numberline {11.2}Performing the correlated-k conversion}{59}} 187 189 \bibdata{newfred.bib} 188 \@writefile{toc}{\contentsline {section}{\numberline {11.3}Implementing the absorption data in the GCM}{6 1}}190 \@writefile{toc}{\contentsline {section}{\numberline {11.3}Implementing the absorption data in the GCM}{60}} 189 191 \bibstyle{plain} -
TabularUnified trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/callphysiq_mod.F90 ¶
r1576 r1746 77 77 zplev_omp, & ! pplev 78 78 zplay_omp, & ! pplay 79 79 80 zphi_omp, & ! pphi 81 82 80 83 zufi_omp, & ! pu 81 84 zvfi_omp, & ! pv -
TabularUnified trunk/MESOSCALE/LMD_MM_MARS/SIMU/RUN/vert_level_python/levspe.py ¶
r1606 r1746 14 14 #psurf=92.e5 # Venus 15 15 psurf=1.212862e6 16 17 hache = 10. 18 psurf = 610. 19 20 16 21 print hache, psurf 17 22 #read paramlevspe 23 24 25 26 18 27 param=np.loadtxt('paramlevspe') 19 28 nlev=param[0] … … 52 61 #print ptop 53 62 etas=(pressions-ptop)/(psurf-ptop) 54 etas[ nlev-1]=0.63 etas[int(nlev)-1]=0. 55 64 #print etas 56 65 press=etas*(psurf-ptop)+ptop … … 68 77 np.savetxt('levels',etas) 69 78 70 plt.figure(figsize=(1 5, 15))79 plt.figure(figsize=(12, 6)) 71 80 plt.subplot(221) 72 plt.plot(x, etas )81 plt.plot(x, etas, 'b.') 73 82 plt.xlabel('levels') 74 83 plt.ylabel('etas') … … 76 85 #plt.title('a) NINO3 Sea Surface Temperature (seasonal)') 77 86 #plt.hold(False) 87 axes = plt.gca() 88 axes.set_ylim([0,1]) 78 89 79 90 plt.subplot(222) 80 plt.plot(x, pseudo )91 plt.plot(x, pseudo, 'b.') 81 92 plt.xlabel('levels') 82 93 plt.grid() 83 94 plt.ylabel('pseudo-altitude (km)') 95 plt.semilogy() 96 axes = plt.gca() 97 axes.set_ylim([0,60]) 98 84 99 85 100 plt3 = plt.subplot(223) 86 plt.semilogy(x, press )101 plt.semilogy(x, press, 'b.') 87 102 plt.xlabel('levels') 88 103 plt.grid() 89 plt.ylabel('press ion(Pa)')104 plt.ylabel('pressure (Pa)') 90 105 91 106 plt4 = plt.subplot(224) 92 plt.plot(x, res )107 plt.plot(x, res, 'b.') 93 108 plt.xlabel('levels') 94 109 plt.grid() -
TabularUnified trunk/MESOSCALE/LMD_MM_MARS/SIMU/RUN/vert_level_python/paramlevspe ¶
r1606 r1746 3 3 #epsilon augmentation totale en pourcentage de l'ecart max (modifie inflexion). epsilon = 0 : point d'inflexion parfaitement plat. epsilon = 100 : pas de point d'inflexion 4 4 #elong_cos plus petit rapproche l'inflexion du sol ;; 2/3 parfait pour un nlev divisible par 3 5 2016 280.7 08 0.000000044 5 61 6 60. 7 100 8 1.75 -
TabularUnified trunk/MESOSCALE/LMD_MM_MARS/SIMU/namelist.input_full ¶
r1044 r1746 88 88 h_sca_adv_order = 5, !! (*d) Horizontal scalar advection order 89 89 v_sca_adv_order = 3, !! (*d) Vertical scalar advection order 90 khdif = 10., !! ** direct diffusion for tests (km_opt=1). horizontal diffusion constant (m^2/s) 91 kvdif = 10., !! ** direct diffusion for tests (km_opt=1). vertical diffusion constant (m^2/s) 90 92 / 91 93 -
TabularUnified trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_initialize_les.F ¶
r1724 r1746 86 86 87 87 INTEGER, PARAMETER :: nl_max = 1000 88 REAL, DIMENSION(nl_max) :: zk, p_in, theta, Tz,rho, u, v, qv, pd_in88 REAL, DIMENSION(nl_max) :: zk, p_in, theta, rho, u, v, qv, pd_in 89 89 INTEGER :: nl_in 90 90 … … 116 116 ! for mode 3 117 117 REAL, DIMENSION(nl_max) :: profdustq,profdustn 118 REAL, DIMENSION(nl_max) :: hrsw,hrlw,hrdyn 119 REAL, DIMENSION(nl_max) :: trac 120 REAL, DIMENSION(nl_max) :: prescribed_sw,prescribed_lw,prescribed_dyn 121 REAL, DIMENSION(nl_max) :: venus_hrdyn 122 REAL, DIMENSION(nl_max) :: altitude 118 REAL, DIMENSION(nl_max) :: prescribed_sw,prescribed_lw 123 119 !!MARS 124 120 … … 127 123 !INTEGER :: hypsometric_opt = 2 ! Wee et al. 2012 correction 128 124 125 character(len=10) :: planet 129 126 130 127 #ifdef DM_PARALLEL 131 128 # include <data_calls.inc> 132 129 #endif 130 131 call init_planet_constants 133 132 134 133 SELECT CASE ( model_data_order ) … … 173 172 174 173 175 stretch_grid = .false.174 !stretch_grid = .false. 176 175 ! FOR LES, set stretch to false 177 !stretch_grid = .true.176 stretch_grid = .true. 178 177 delt = 3. 179 178 ! z_scale = .50 180 179 ! z_scale = .10 181 180 ! z_scale = .25 182 ! z_scale = .1 181 ! z_scale = .15 183 182 pi = 2.*asin(1.0) 184 183 write(6,*) ' pi is ',pi … … 303 302 grid%rdx = 1./config_flags%dx 304 303 grid%rdy = 1./config_flags%dy 304 305 305 ! get the sounding from the ascii sounding file, first get dry sounding and 306 306 ! calculate base state … … 310 310 write(6,*) ' getting dry sounding for base state ' 311 311 312 CALL get_sounding( zk, p_in, pd_in, theta, Tz,rho, u, v, qv, dry_sounding, nl_max, nl_in )312 CALL get_sounding( zk, p_in, pd_in, theta, rho, u, v, qv, dry_sounding, nl_max, nl_in ) 313 313 ENDIF 314 314 CALL wrf_dm_bcast_real( zk , nl_max ) … … 316 316 CALL wrf_dm_bcast_real( pd_in , nl_max ) 317 317 CALL wrf_dm_bcast_real( theta , nl_max ) 318 CALL wrf_dm_bcast_real( Tz , nl_max )319 318 CALL wrf_dm_bcast_real( rho , nl_max ) 320 319 CALL wrf_dm_bcast_real( u , nl_max ) … … 385 384 ENDDO 386 385 387 xs=ide/2 -25 388 !xs=ids -3 389 !xe=xs + 6 390 xe=xs + 25 391 !ys=jde/2 -3 392 ys=jde/2 -25 393 !ye=ys + 6 394 ye=ys + 25 395 mtn_ht = 1000 386 xs=ide/2 -3 387 xs=ids -3 388 xe=xs + 6 389 ys=jde/2 -3 390 ye=ys + 6 391 mtn_ht = 500 396 392 #ifdef MTN 397 393 DO j=max(ys,jds),min(ye,jde-1) 398 394 DO i=max(xs,ids),min(xe,ide-1) 399 grid%ht(i,j) = alt_input +mtn_ht * 0.25 * &395 grid%ht(i,j) = mtn_ht * 0.25 * & 400 396 ( 1. + COS ( 2*pi/(xe-xs) * ( i-xs ) + pi ) ) * & 401 397 ( 1. + COS ( 2*pi/(ye-ys) * ( j-ys ) + pi ) ) … … 438 434 p_level = grid%znu(k)*(p_surf - grid%p_top) + grid%p_top 439 435 grid%pb(i,k,j) = p_level 440 grid%t_init(i,k,j) = interp_0_log( theta, p_in, p_level, nl_in ) - t0 441 grid%tz_init(i,k,j) = interp_0_log( Tz, p_in, p_level, nl_in ) 436 grid%t_init(i,k,j) = interp_0( theta, p_in, p_level, nl_in ) - t0 442 437 grid%alb(i,k,j) = (r_d/p1000mb)*(grid%t_init(i,k,j)+t0)*(grid%pb(i,k,j)/p1000mb)**cvpm 443 438 ENDDO … … 463 458 ENDDO 464 459 ENDDO 460 465 461 IF ( wrf_dm_on_monitor() ) THEN 466 462 write(6,*) ' ptop is ',grid%p_top … … 472 468 write(6,*) ' getting moist sounding for full state ' 473 469 dry_sounding = .false. 474 CALL get_sounding( zk, p_in, pd_in, theta, Tz,rho, u, v, qv, dry_sounding, nl_max, nl_in )470 CALL get_sounding( zk, p_in, pd_in, theta, rho, u, v, qv, dry_sounding, nl_max, nl_in ) 475 471 476 472 DO J = jts, min(jde-1,jte) … … 495 491 p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top 496 492 497 moist(i,k,j,P_QV) = interp_0 _log( qv, pd_in, p_level, nl_in )498 grid%t_1(i,k,j) = interp_0 _log( theta, pd_in, p_level, nl_in ) - t0493 moist(i,k,j,P_QV) = interp_0( qv, pd_in, p_level, nl_in ) 494 grid%t_1(i,k,j) = interp_0( theta, pd_in, p_level, nl_in ) - t0 499 495 grid%t_2(i,k,j) = grid%t_1(i,k,j) 500 496 … … 698 694 DO K = 1, kte-1 699 695 p_level = grid%znu(k)*(p_surf - grid%p_top) + grid%p_top 700 grid%v_1(i,k,j) = interp_0 _log( v, p_in, p_level, nl_in )696 grid%v_1(i,k,j) = interp_0( v, p_in, p_level, nl_in ) 701 697 grid%v_2(i,k,j) = grid%v_1(i,k,j) 702 698 ENDDO … … 722 718 DO K = 1, kte-1 723 719 p_level = grid%znu(k)*(p_surf - grid%p_top) + grid%p_top 724 grid%u_1(i,k,j) = interp_0 _log( u, p_in, p_level, nl_in )720 grid%u_1(i,k,j) = interp_0( u, p_in, p_level, nl_in ) 725 721 grid%u_2(i,k,j) = grid%u_1(i,k,j) 726 722 ENDDO … … 851 847 DO k=1,kte-1 852 848 p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top 853 scalar(its:ite,k,jts:jte,2) = interp_0 _log( qv, pd_in, p_level, nl_in )849 scalar(its:ite,k,jts:jte,2) = interp_0( qv, pd_in, p_level, nl_in ) 854 850 scalar(its:ite,k,jts:jte,3) = 0. 855 851 !! water ice is set to 0 (was put into water vapor when building prof from MCD) … … 866 862 DO k=1,kte-1 867 863 p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top 868 scalar(its:ite,k,jts:jte,4) = interp_0 _log( profdustq, pd_in, p_level, nl_in )869 scalar(its:ite,k,jts:jte,5) = interp_0 _log( profdustn, pd_in, p_level, nl_in )864 scalar(its:ite,k,jts:jte,4) = interp_0( profdustq, pd_in, p_level, nl_in ) 865 scalar(its:ite,k,jts:jte,5) = interp_0( profdustn, pd_in, p_level, nl_in ) 870 866 ENDDO 871 867 print *, "DUST Q", scalar(its,:,jts,4) … … 886 882 DO i = its, ite 887 883 !!! we use Q2 as a vehicle for heating rates! sick! 888 grid%m_q2(i,k,j) = interp_0 _log( profdustq, pd_in, p_level, nl_in ) &889 + interp_0 _log( profdustn, pd_in, p_level, nl_in )884 grid%m_q2(i,k,j) = interp_0( profdustq, pd_in, p_level, nl_in ) & 885 + interp_0( profdustn, pd_in, p_level, nl_in ) 890 886 ENDDO 891 887 ENDDO … … 893 889 !print*,k,grid%m_q2(1,k,1) 894 890 ENDDO 895 891 print*,'planet',planet 896 892 IF (planet.eq."prescribed") Then 897 call read_hr( hrsw,hrlw,hrdyn,nl_in)893 call read_hr(profdustq,profdustn,nl_in) 898 894 open(unit=17,file="prescribed_sw.txt",action="write") 899 895 open(unit=18,file="prescribed_lw.txt",action="write") 900 open(unit=19,file="prescribed_dyn.txt",action="write")901 896 DO k=1,kte!-1 902 897 p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top 903 prescribed_sw(k) = interp_0_log( hrsw, pd_in, p_level, nl_in ) 904 prescribed_lw(k) = interp_0_log( hrlw, pd_in, p_level, nl_in ) 905 prescribed_dyn(k) = interp_0_log( hrdyn, pd_in, p_level, nl_in ) 898 prescribed_sw(k) = interp_0( profdustq, pd_in, p_level, nl_in ) 899 prescribed_lw(k) = interp_0( profdustn, pd_in, p_level, nl_in ) 906 900 write (17,*) prescribed_sw(k) 907 901 write (18,*) prescribed_lw(k) 908 write (19,*) prescribed_dyn(k)909 902 ENDDO 910 close(unit=1 9)903 close(unit=17) 911 904 close(unit=18) 912 close(unit=17)913 905 ENDIF 914 915 IF (planet.eq."venus") Then916 call read_hr(hrsw,hrlw,hrdyn,nl_in)917 open(unit=20,file="venus_hrdyn.txt",action="write")918 DO k=1,kte!-1919 p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top920 venus_hrdyn(k) = interp_0_log( hrdyn, pd_in, p_level, nl_in )921 write (20,*) venus_hrdyn(k)922 ENDDO923 close(unit=20)924 ENDIF925 926 open(unit=21,file="altitude.txt",action="write")927 DO k=1,kte!-1928 p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top929 altitude(k) = interp_0_log( zk, pd_in, p_level, nl_in )930 write (21,*) altitude(k)931 ENDDO932 close(unit=21)933 906 934 907 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 968 941 !--------------------------------------------------------------------------- 969 942 970 subroutine get_sounding( zk, p, p_dry, theta, Tz,rho, &943 subroutine get_sounding( zk, p, p_dry, theta, rho, & 971 944 u, v, qv, dry, nl_max, nl_in ) 972 945 implicit none … … 974 947 integer nl_max, nl_in 975 948 real zk(nl_max), p(nl_max), theta(nl_max), rho(nl_max), & 976 u(nl_max), v(nl_max), qv(nl_max), p_dry(nl_max) ,Tz(nl_max)949 u(nl_max), v(nl_max), qv(nl_max), p_dry(nl_max) 977 950 logical dry 978 951 … … 1139 1112 v(k) = v_input(k) 1140 1113 qv(k) = qv_input(k) 1141 Tz(k) = t_therm(k)1142 1114 1143 1115 enddo … … 1226 1198 implicit none 1227 1199 integer n 1228 real pdustq(n +1),pdustn(n+1)1200 real pdustq(n),pdustn(n) 1229 1201 logical end_of_file 1230 1202 … … 1251 1223 end subroutine read_dust 1252 1224 !!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 1253 subroutine read_hr(hr_sw,hr_lw, hr_dyn,n)1225 subroutine read_hr(hr_sw,hr_lw,n) 1254 1226 implicit none 1255 1227 integer n 1256 real hr_sw(n +1),hr_lw(n+1),hr_dyn(n+1)1228 real hr_sw(n),hr_lw(n) 1257 1229 logical end_of_file 1258 1230 … … 1267 1239 do while (.not. end_of_file) 1268 1240 1269 read(11,*,end=103) hr_sw(k+1),hr_lw(k+1) ,hr_dyn(k+1)1270 write(*,*) k,hr_sw(k+1),hr_lw(k+1) ,hr_dyn(k+1)1241 read(11,*,end=103) hr_sw(k+1),hr_lw(k+1) 1242 write(*,*) k,hr_sw(k+1),hr_lw(k+1) 1271 1243 k = k+1 1272 go to 11 41244 go to 113 1273 1245 103 end_of_file = .true. 1274 1246 114 continue -
TabularUnified trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F ¶
r1724 r1746 21 21 USE module_soil_pre 22 22 USE module_date_time 23 use module_init_utilities24 23 #ifdef DM_PARALLEL 25 24 USE module_dm … … 119 118 REAL :: max_dz 120 119 121 INTEGER , PARAMETER :: nl_max = 1000 122 INTEGER :: nl_in 120 ! INTEGER , PARAMETER :: nl_max = 1000 123 121 ! REAL , DIMENSION(nl_max) :: grid%em_dn 124 REAL, DIMENSION(nl_max) :: pd_in 125 REAL, DIMENSION(nl_max) :: profdustq,profdustn 122 126 123 integer::oops1,oops2 127 124 … … 152 149 !LOGICAL :: interp_theta = .false. ! Wee et al. 2012 correction 153 150 REAL :: pfu, pfd, phm 154 REAL :: tpot 151 155 152 156 153 #ifdef DM_PARALLEL … … 1083 1080 !!END DO 1084 1081 1085 IF ( planet == "mars" ) then 1082 1086 1083 !--get vertical size of the GCM input array and allocate new stuff 1087 1088 1089 1090 1091 1092 1093 1084 sizegcm=SIZE(grid%em_rh_gc(1,:,1)) 1085 ALLOCATE(sig(MIN(ite,ide-1)-its+1,sizegcm, MIN(jte,jde-1)-jts+1)) 1086 !ALLOCATE(ap(MIN(ite,ide-1)-its+1,sizegcm, MIN(jte,jde-1)-jts+1)) 1087 ALLOCATE(bp(MIN(ite,ide-1)-its+1,sizegcm, MIN(jte,jde-1)-jts+1)) 1088 1089 DO j = jts , MIN ( jde-1 , jte ) 1090 DO i = its , MIN (ide-1 , ite ) 1094 1091 1095 1092 !!! Define old sigma levels for each column 1096 1093 sig(i,:,j)=grid%em_p_gc(i,:,j)/grid%em_psfc_gc(i,j) 1097 1094 1098 1095 !!! Compute new sigma levels from old sigma levels with GCM (low-res) and WRF (hi-res) surface pressure 1099 1096 !!! (dimlevs,sigma_gcm, ps_gcm, ps_hr, sigma_hr) 1100 1097 CALL build_sigma_hr(sizegcm,sig(i,:,j),grid%em_psfc_gc(i,j),grid%psfc(i,j),bp(i,:,j)) 1101 1098 1102 1099 !!! Calculate new pressure levels 1103 1104 1105 1106 1107 1108 1109 1100 grid%em_pd_gc(i,:,j)=bp(i,:,j)*grid%psfc(i,j) 1101 1102 END DO 1103 END DO 1104 1105 DEALLOCATE(sig) 1106 DEALLOCATE(bp) 1110 1107 1111 1108 !!****MARS who knows... 1112 1109 grid%em_rh_gc(:,:,:)=0. 1113 1110 1114 1111 … … 1116 1113 !grid%em_pd_gc=grid%em_p_gc 1117 1114 !!****MARS 1118 ELSE ! VENUS 1115 1119 1116 1120 1117 … … 1123 1120 !! dry top pressure (constant). 1124 1121 ! 1125 CALL p_dts ( grid%em_mu0 , grid%em_intq_gc , grid%psfc , grid%p_top , & 1126 ids , ide , jds , jde , 1 , num_metgrid_levels , & 1127 ims , ime , jms , jme , 1 , num_metgrid_levels , & 1128 its , ite , jts , jte , 1 , num_metgrid_levels ) 1129 ENDIF 1130 IF ( planet == "mars" ) then 1122 !CALL p_dts ( grid%em_mu0 , grid%em_intq_gc , grid%psfc , grid%p_top , & 1123 ! ids , ide , jds , jde , 1 , num_metgrid_levels , & 1124 ! ims , ime , jms , jme , 1 , num_metgrid_levels , & 1125 ! its , ite , jts , jte , 1 , num_metgrid_levels ) 1126 1131 1127 !!****MARS 1132 1133 1134 1135 1136 1137 1138 1128 DO j = jts , MIN ( jde-1 , jte ) 1129 DO i = its , MIN (ide-1 , ite ) 1130 1131 grid%em_mu0(i,j) = grid%psfc(i,j) - grid%p_top 1132 1133 END DO 1134 END DO 1139 1135 !!****MARS 1140 ELSE ! VENUS 1136 1141 1137 1142 1138 !! Compute the dry, hydrostatic surface pressure. 1143 1139 ! 1144 CALL p_dhs ( grid%em_pdhs , grid%ht , p00 , t00 , a , & 1145 ids , ide , jds , jde , kds , kde , & 1146 ims , ime , jms , jme , kms , kme , & 1147 its , ite , jts , jte , kts , kte ) 1148 ENDIF 1140 !CALL p_dhs ( grid%em_pdhs , grid%ht , p00 , t00 , a , & 1141 ! ids , ide , jds , jde , kds , kde , & 1142 ! ims , ime , jms , jme , kms , kme , & 1143 ! its , ite , jts , jte , kts , kte ) 1149 1144 !!****MARS: voir remarques dans la routine 1150 1145 !!****MARS: dry hydrostatic pressure comes from the GCM ... … … 2299 2294 IF (( i .EQ. its ) .AND. ( j .EQ. jts )) print *, temp, k 2300 2295 !!! MODIF WRFV3.1 - parameter tiso 2301 IF (planet .eq. "mars" ) THEN 2302 grid%em_t_init(i,k,j) = temp*(p00/grid%em_pb(i,k,j))**(r_d/cp) - t0 2303 ELSE 2304 grid%em_t_init(i,k,j) = (temp**nu + nu*(TT00**nu)*log((p00/grid%em_pb(i,k,j))**rcp))**(1/nu) -t0 2305 ENDIF 2296 grid%em_t_init(i,k,j) = temp*(p00/grid%em_pb(i,k,j))**(r_d/cp) - t0 2306 2297 grid%em_alb(i,k,j) = (r_d/p1000mb)*(grid%em_t_init(i,k,j)+t0)*(grid%em_pb(i,k,j)/p1000mb)**cvpm 2307 2298 END DO … … 2610 2601 !!NB: q2 is used for other purpose ... 2611 2602 2603 2612 2604 ! END IF 2613 2605 … … 2788 2780 temp1 = MAX(tiso,t00+A*LOG(grid%em_pb(i,k,j)/p00)) 2789 2781 temp2 = MAX(tiso,t00+A*LOG( pb_int/p00)) 2790 IF (planet .eq. "mars" ) THEN 2791 grid%em_t_init(i,k,j) = temp1*(p00/grid%em_pb(i,k,j))**(r_d/cp) - t0 2792 t_init_int(i,k,j) = temp2*(p00/pb_int )**(r_d/cp) - t0 2793 ELSE 2794 ENDIF 2782 grid%em_t_init(i,k,j) = temp1*(p00/grid%em_pb(i,k,j))**(r_d/cp) - t0 2783 t_init_int(i,k,j) = temp2*(p00/pb_int )**(r_d/cp) - t0 2795 2784 grid%em_alb(i,k,j) = (r_d/p1000mb)*(grid%em_t_init(i,k,j)+t0)*(grid%em_pb(i,k,j)/p1000mb)**cvpm 2796 2785 END DO … … 4980 4969 ! temp = t00 + A*LOG(pb/p00) 4981 4970 temp = MAX ( tiso, t00 + A*LOG(pb/p00) ) 4982 IF (planet .eq. "mars" ) THEN 4983 t_init = temp*(p00/pb)**(r_d/cp) - t0 4984 ELSE 4985 t_init = (temp**nu + nu*(TT00**nu)*log((p00/pb)**(rcp)))**(1/nu) - t0 4986 ENDIF 4971 t_init = temp*(p00/pb)**(r_d/cp) - t0 4987 4972 alb(k) = (r_d/p1000mb)*(t_init+t0)*(pb/p1000mb)**cvpm 4988 4973 END DO … … 5020 5005 ! temp = t00 + A*LOG(pb/p00) 5021 5006 temp = MAX ( tiso, t00 + A*LOG(pb/p00) ) 5022 IF (planet .eq. "mars" ) THEN 5023 t_init = temp*(p00/pb)**(r_d/cp) - t0 5024 ELSE 5025 t_init = (temp**nu + nu*(TT00**nu)*log((p00/pb)**(rcp)))**(1/nu) -t0 5026 ENDIF 5007 t_init = temp*(p00/pb)**(r_d/cp) - t0 5027 5008 alb(k) = (r_d/p1000mb)*(t_init+t0)*(pb/p1000mb)**cvpm 5028 5009 znw(k+1) = znw(k) - dz*g / ( mub*alb(k) ) … … 5044 5025 ! temp = t00 + A*LOG(pb/p00) 5045 5026 temp = MAX ( tiso, t00 + A*LOG(pb/p00) ) 5046 IF (planet .eq. "mars" ) THEN 5047 t_init = temp*(p00/pb)**(r_d/cp) - t0 5048 ELSE 5049 t_init = (temp**nu + nu*(TT00**nu)*log((p00/pb)**(rcp)))**(1/nu) -t0 5050 ENDIF 5027 t_init = temp*(p00/pb)**(r_d/cp) - t0 5051 5028 alb(k) = (r_d/p1000mb)*(t_init+t0)*(pb/p1000mb)**cvpm 5052 5029 znw(k+1) = znw(k) - dz*g / ( mub*alb(k) ) … … 5075 5052 ! temp = t00 + A*LOG(pb/p00) 5076 5053 temp = MAX ( tiso, t00 + A*LOG(pb/p00) ) 5077 IF (planet .eq. "mars" ) THEN 5078 t_init = temp*(p00/pb)**(r_d/cp) - t0 5079 ELSE 5080 t_init = (temp**nu + nu*(TT00**nu)*log((p00/pb)**(rcp)))**(1/nu) -t0 5081 ENDIF 5054 t_init = temp*(p00/pb)**(r_d/cp) - t0 5082 5055 alb(k) = (r_d/p1000mb)*(t_init+t0)*(pb/p1000mb)**cvpm 5083 5056 END DO … … 5747 5720 end subroutine build_sigma_hr 5748 5721 5722 5723 5724 5725 5749 5726 END MODULE module_initialize 5750 5727 -
TabularUnified trunk/MESOSCALE/LMD_MM_MARS/makemeso ¶
r1724 r1746 74 74 # makemeso -p mars_lmd_new ## choose physics 75 75 # venus_lmd_new 76 # generic_lmd_new77 # titan_lmd_new78 76 # 79 77 # makemeso -f ## fresh start [clean -a] … … 244 242 cd .. 245 243 246 # remove files adapted to parallel GCM and useless for mesoscale 247 #cd mars_lmd 248 #cd libf/phymars 249 #\rm tabfi* soil_settings* phyetat0* phyredem* iostart* writediagfi* mkstat* writediagsoil* eofdump* wstats* inistats* mod_* 250 #\rm iniphysiq* init_phys_lmdz* comgeomphy* planetwide_mod* 251 #mv ../dyn3d/control_mod.F90 . 252 #cd ../.. 253 #cd .. 254 255 else 256 if [[ "${config}" == "les" ]] 257 then 258 #### NB: With physics: LES folder // Without physics : LESnophys_ folder 259 #### ---- because differences in 'modif' folder ---- 260 #sed s+"PWD/SRC/"+"PWD/SRC/LES$phys/"+g SRC/SCRIPTS/copy_model > copy_model_tmp 261 sed s+"PWD/SRC/"+"PWD/SRC/LES/"+g SRC/SCRIPTS/copy_model > copy_model_tmp 262 else 263 cp SRC/SCRIPTS/copy_model copy_model_tmp 264 fi 265 chmod 755 copy_model_tmp 266 ./copy_model_tmp 267 \rm copy_model_tmp 268 mv zeWRFV2 ${conf_wrf}/WRFV2 269 cd ${conf_wrf}/WRFV2 270 cd Registry ; ./Registry.bash ; cd .. 244 else 245 cd ${conf_wrf}/WRFV2 246 cd Registry ; ./Registry.bash ; cd .. 271 247 fi 272 248 #### sparadrap consequent a l'utilisation de copy_model pour les liens … … 414 390 then 415 391 sed s+"-lnetcdf"+"-lnetcdf -L../$phys/libo -llmd $NETCDF/lib/libnetcdf.a"+g configure.wrf > yeah ; mv -f yeah configure.wrf 416 #sed s+"O3"+"O3"+g configure.wrf > yeah ; mv -f yeah configure.wrf417 392 else 418 393 sed s+"-lnetcdf"+"-lnetcdf $NETCDF/lib/libnetcdf.a"+g configure.wrf > yeah ; mv -f yeah configure.wrf … … 481 456 mv -f yeah configure.wrf ;; 482 457 mpifort_64) # MPI+IFORT, 64 bits, no nesting / nesting 483 echo 9 | ./configure > log_compile 2> log_error458 echo 9 | configure > log_compile 2> log_error 484 459 sed -f physics.sed configure.wrf > yeah ; mv -f yeah configure.wrf 485 460 sed s+"-f90=ifort"+" "+g configure.wrf > yeah ; mv -f yeah configure.wrf … … 492 467 then 493 468 echo 'DEBUG DEBUG DEBUG DEBUG' 494 sed s+"# -g"+" -g -no-ftz -traceback -ftrapuv -fp-stack-check -check"+g configure.wrf > yeah469 sed s+"# -g"+" -g -no-ftz -traceback -ftrapuv -fp-stack-check -check"+g configure.wrf > yeah 495 470 mv -f yeah configure.wrf 496 471 fi … … 512 487 sed s+"mpicc"+"mpicc -DMPI2_SUPPORT"+g configure.wrf > yeah ; mv -f yeah configure.wrf 513 488 ## !!! NETCDF must be defined 514 if [[ "${phys}" != *"void"* ]] 515 sed s+"-L../$phys/libo -llmd"+"-L../$phys/libo -llmd $NETCDF/lib/libnetcdf.a $NETCDF/lib/libnetcdff.a"+g configure.wrf > yeah 516 else 517 sed s+"-lesmf_time"+"-lesmf_time $NETCDF/lib/libnetcdf.a $NETCDFF/lib/libnetcdff.a"+g configure.wrf > yeah 518 fi 489 sed s+"-L../$phys/libo -llmd"+"-L../$phys/libo -llmd $NETCDF/lib/libnetcdf.a"+g configure.wrf > yeah 519 490 mv -f yeah configure.wrf 520 491 #### POUR LE TRAITEMENT PARTICULIERS des NESTS sur iDATAPLEX [cf. module_lmd_driver] … … 614 585 sed s+"LIB_BUNDLED = "+"LIB_BUNDLED = /usr/lib64/liblapack.so \ "+g configure.wrf > yeah ; mv -f yeah configure.wrf 615 586 #sed s+"RWORDSIZE = "+"RWORDSIZE = 8 # "+g configure.wrf > yeah ; mv -f yeah configure.wrf 616 #sed s+"PROMOTION = -i4"+'PROMOTION = -real-size "expr 8 \* $(RWORDSIZE)" -i4'+g configure.wrf > yeah ; mv -f yeah configure.wrf617 #sed s+"PROMOTION = -i4"+"PROMOTION = -real_size 64 -i4"+g configure.wrf > yeah ; mv -f yeah configure.wrf618 587 #sed s+"-DLWORDSIZE=4 "+"-DLWORDSIZE=8 "+g configure.wrf > yeah ; mv -f yeah configure.wrf 619 588 #sed s+"-DIWORDSIZE=4 "+"-DIWORDSIZE=8 "+g configure.wrf > yeah ; mv -f yeah configure.wrf … … 704 673 then 705 674 cd libf/phyvenus 706 elif [[ "${phys}" == *"generic"* ]]707 then708 cd libf/phystd709 elif [[ "${phys}" == *"titan"* ]]710 then711 cd libf/phytitan712 675 fi 713 676 \rm dimphys.h 2> /dev/null 714 #if [[ "${phys}" == "newphys_" ]]715 #then716 #ln -sf ../../meso_dimphys.h_ref . ## ne sert plus !!717 #else718 if [[ "${phys}" != "newphys_" ]]677 # if [[ "${phys}" == "newphys_" ]] 678 # then 679 # ln -sf ../../meso_dimphys.h_ref . ## ne sert plus !! 680 # else 681 if [[ "${phys}" == "mars_lmd" ]] 719 682 then 720 683 physize=$(expr ${physx} \* ${physy}) … … 722 685 head -15 dimphys.h 723 686 fi 724 ### TEST new new phys687 #### TEST new new phys 725 688 #if [[ "${phys}" == "newphys_" ]] 726 689 #then 727 690 # touch gr_fi_dyn.F.lien 728 691 # ln -sf ../dyn3d/gr_fi_dyn.F . ## dommage, a corriger 729 ############################### 730 ############################### 731 ############################### 692 ################################ 693 ################################ 694 ################################ 732 695 #fi 733 ### 734 ### 696 #### 697 #### 735 698 cd ../.. 736 699 … … 748 711 echo compilation info in: 749 712 echo $PWD/libo/log_compile_phys 750 713 751 714 if [ ${debug} -ne 0 ] 752 715 then … … 754 717 then 755 718 echo 'DEBUG DEBUG DEBUG DEBUG' 756 nohup makegcm_${compilo} debug-t ${tra} -p mars -d ${physz} testphys1d | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys719 nohup makegcm_${compilo} -debug -full -t ${tra} -p mars -d ${physz} testphys1d | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 757 720 elif [[ "${phys}" == *"venus"* ]] 758 721 then 759 722 echo 'DEBUG DEBUG DEBUG DEBUG' 760 nohup ./makelmdz -debug -full -p venus -d 181 rcm1d -arch X64_MESU -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 761 elif [[ "${phys}" == *"generic"* ]] 762 then 763 echo 'DEBUG DEBUG DEBUG DEBUG' 764 nohup ./makegcm_ifort -debug -t ${tra} -p std -b 36x32 -d 25 rcm1d | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 765 #nohup ./makegcm_ifort -t ${tra} -p std -b 36x32 -d 25 rcm1d | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 723 nohup makelmdz -debug -full -p venus -d 181 rcm1d -arch linux-ifort -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 766 724 fi 767 725 else 768 726 if [[ "${phys}" == *"mars"* ]] 769 727 then 770 728 nohup makegcm_${compilo} -t ${tra} -p mars -d ${physz} testphys1d | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 771 729 elif [[ "${phys}" == *"venus"* ]] 772 730 then 773 nohup ./makelmdz -full -p venus -d 51 rcm1d -arch linux-ifort_meso -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys # on /u/ and /planeto/ 774 nohup ./makelmdz -p venus -d 51 rcm1d -arch linux-ifort_meso -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 775 #nohup ./makelmdz -full -p venus -d 51 rcm1d -arch CICLADifort -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys # on CICLAD 776 #nohup ./makelmdz -p venus -d 51 rcm1d -arch CICLADifort -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 777 #nohup ./makelmdz -full -p venus -d 51 rcm1d -arch X64_MESU -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys #on MESU 778 #nohup ./makelmdz -p venus -d 51 rcm1d -arch X64_MESU -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 779 #nohup makelmdz -full -p venus -d 51 rcm1d -arch X64_OCCIGEN -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys #on OCCIGEN 780 #nohup makelmdz -p venus -d 51 rcm1d -arch X64_OCCIGEN -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 731 nohup makelmdz -full -p venus -d 51 rcm1d -arch linux-ifort -cpp MESOSCALE | tee libo/log_compile_phys | grep 'warnings' >> libo/log_compile_phys 781 732 fi 782 733 fi … … 791 742 cd libo 792 743 mkdir temp 793 if [[ ("${phys}" == *"venus"*) ]] 794 then 795 cp -f linux*/*.a temp/ # on /u/ and /planeto/ 796 #cp -f /home/mlefevre/modipsl/lib/libioipsl.a temp/ #on CICLAD 797 #cp -f X64*/*.a temp #on MESU and OCCIGEN 744 if [[ "${phys}" == *"venus"* ]] 745 then 746 cp -f linux*/*.a temp/ 798 747 cp -f ../ioipsl/libioipsl.a temp/ 799 748 else … … 806 755 ar x libphymars.a 807 756 ar x libaeronomars.a 808 elif [[ "${phys}" == *"venus"* ]] 809 then 757 else 810 758 ar x libphyvenus.a 811 759 ar x libmisc.a … … 821 769 # finish merge 822 770 cd .. 823 echo ${phys}824 771 if [[ "${phys}" == *"new"* ]] 825 772 then … … 828 775 # include modules for interfacing 829 776 mv *.mod ../inc/ 830 elif [[ ("${phys}" == *"venus"*)]] 831 then 832 mv ./libo/linux*/*.mod ../inc/ # on /u/ and /planeto/ 833 #mv ./libo/CICLAD*/*.mod ../inc/ # on CICLAD 834 #mv ./libo/X64*/*.mod ../inc/ # on MESU and OCCIGEN 777 else # [[ "${phys}" == *"venus"* ]] 778 mv ./libo/linux*/*.mod ../inc/ 835 779 cp -f ./ioipsl/*.mod ../inc/ 780 836 781 fi 837 782 fi -
TabularUnified trunk/UTIL/SPECTRA/makefile ¶
r1404 r1746 1 netcdfpath=/ planeto/milmd/library/netcdf/netcdf-4.0.1_levan_pgf902 spherepackpath= /planeto/milmd/library/spherepack/spherepack3.2_levan_pgf903 FC= pgf901 netcdfpath=/home/aymeric/Science/NETCDF/netcdf64-4.0.1_gfortran 2 spherepackpath=./spherepack3.2 3 FC=gfortran 4 4 5 5 6 6 FFLAGS=-I${netcdfpath}/include -I${spherepackpath}/lib 7 LDFLAGS=-L${netcdfpath}/lib -lnetcdf -L${spherepackpath}/lib -lspherepack 7 #LDFLAGS=-L${netcdfpath}/lib -lnetcdf -L${spherepackpath}/lib -lspherepack 8 LDFLAGS=-L${netcdfpath}/lib -lnetcdf -lnetcdff -L${spherepackpath}/lib -lspherepack 8 9 9 10 SRCS= $(wildcard *.f90)
Note: See TracChangeset
for help on using the changeset viewer.