Log of /trunk/phylmd/CV30_routines/cv30_unsat.f
Parent Directory
| Revision Log
Revision
205 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 21 15:16:03 2016 UTC
(8 years ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 11463 byte(s)
Diff to
previous 201
,
to
selected 192
dnwd0 is just - mp. Compute it simply in concvl.
da, phi and mp were set to 0 in physiq before the call to
concvl. Clearer to set da1, phi1 and mp1 to 0 in cv_driver so they are
intent out.
qcheck was debugging, printed to standard output and was called
several times per time step of physics.
zxtsol was a duplicate of ztsol.
Revision
201 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 6 17:42:15 2016 UTC
(8 years, 1 month ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 11480 byte(s)
Diff to
previous 199
,
to
selected 192
Removed intermediary objects of cv_thermo_m, access suphec_m
directly. Procedure cv_thermo disappeared, all objects are named
constants.
In cv_driver and below, limited extents of arrays to what is needed.
lv, cpn and th in cv30_compress were set at level nl + 1 but lv1, cpn1
and th1 are not defined at this level. This did not lead to an error
because values at nl + 1 were not used.
Removed test on ok_sync in phystokenc because it is not read at run
time. Printing min and max of output NetCDF variables is heavy and
archaic.
Used histwrite_phy in phytrac.
Revision
196 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon May 23 13:50:39 2016 UTC
(8 years, 1 month ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 11201 byte(s)
Diff to
previous 195
,
to
selected 192
Removed argument icbmax of cv30_feed, not used in cv_driver (not used
in LMDZ either).
Clearer to have iflag1 = 0 in cv30_feed than in cv_driver. Clearer to
have iflag1 = 42 in cv30_uncompress than in cv_driver.
Removed argument iflag of cv30_compress. Since there is iflag1 = 42 in
cv30_uncompress, iflag1 that comes out of cv_driver is disconnected
from iflag1 computed by cv30_feed and cv30_trigger.
Removed some references to convect3 and convect4 in comments. This
program derives from the convect3 version, we do not need to know
about other versions.
Bug fix in cv30_undilute1: icbs1 was not made >= 2.
Revision
195 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Wed May 18 17:56:44 2016 UTC
(8 years, 1 month ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 11121 byte(s)
Diff to
previous 194
,
to
selected 192
In cv30_feed, iflag1 is 0 on entry so we can simplify the test for
iflag1 = 7.
In cv30_feed, for the computation of icb, replaced sequential search
(with a useless end of loop on k) by a call to locate.
In CV30 routines, replaced len, nloc, nd, na by klon or
klev. Philosophy: no more generality than actually necessary.
Converted as many variables as possible to named constants in
cv30_param_m and downgraded pbcrit, ptcrit, dtovsh, dpbase, dttrig,
tau, delta to local objects in procedures. spfac, betad and omtrain
are useless and removed.
Instead of filling the array sigp with the constant spfac in
cv30_undilute2, just made sigp a constant in cv30_unsat.
In cv_driver, define as allocatable variables that are only
used on the range (ncum, nl).
Revision
193 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Thu May 12 13:22:19 2016 UTC
(8 years, 1 month ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 11103 byte(s)
Diff to
previous 192
In procedure cv30_unsat, in downdraft_loop, there was a test on
any(inb >= i .and. lwork). It was useless to do this test at each
iteration since, if it becomes true for a given value of i, it is
necessarily true for all subsequent (lower) values of i. So instead,
we compute imax before the loop.
In procedure cv30_unsat, no need to initialize wdtrain to 0 because it
is computed inside the loop at all positions where it will be useful.
Revision
192 -
(
view)
(
annotate)
-
[selected]
Modified
Thu May 12 13:00:07 2016 UTC
(8 years, 1 month ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 11683 byte(s)
Diff to
previous 190
Removed the possibility to read aerosol fields. This was not
operational. It required fields already regridded in the three
dimensions. It seems quite weird to me not to have online vertical
regridding, since the surface pressure varies. There was the
possibility of adding vertical regridding. But development is not in
the spirit of LMDZE. Furthermore, the treatment of aerosols that was
in LMDZE is completely obsolete in LMDZ. We could try importing the
up-to-date treatment of aerosols of LMDZ, but that carries LMDZE quite
far: there is the problem of the calendar and the problem of updated
radiative transfer required for updated aerosols.
Revision
190 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 14 15:15:56 2016 UTC
(8 years, 2 months ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 11388 byte(s)
Diff to
previous 189
,
to
selected 192
Created module cv_thermo_m around procedure cv_thermo. Moved variables
from module cvthermo to module cv_thermo_m, where they are defined.
In ini_histins and initphysto, using part of rlon and rlat from
phyetat0_m is pretending that we do not know about the dynamical grid,
while the way we extract zx_lon(:, 1) and zx_lat(1, :) depends on
ordering inside rlon and rlat. So we might as well simplify and
clarify by using directly rlonv and rlatu.
Removed intermediary variables in write_histins and phystokenc.
Revision
189 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Tue Mar 29 15:20:23 2016 UTC
(8 years, 3 months ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 11385 byte(s)
Diff to
previous 188
,
to
selected 192
There was a function gr_phy_write_3d in dyn3d and a function
gr_phy_write_2d in module grid_change. Moved them into a new module
gr_phy_write_m under a generic interface gr_phy_write. Replaced calls
to gr_fi_ecrit by calls to gr_phy_write.
Removed arguments len, nloc and nd of cv30_compress.
Removed arguments wd and wd1 of cv30_uncompress, wd of cv30_yield, wd
of concvl, wd1 of cv_driver. Was just filled with 0. Removed option
ok_gust in physiq, never used.
In cv30_unsat, cv30_yield and cv_driver, we only need to define b to
level nl - 1.
Revision
187 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 21 18:01:02 2016 UTC
(8 years, 3 months ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 11488 byte(s)
Diff to
previous 186
,
to
selected 192
Made variable nl of module cv30_param_m a parameter. There was no
coding allowing it to change.
Removed arguments nloc and nd of cv30_undilute2, arguments nloc, nd
and na of cv30_unsat. Just use klon and klev directly (going for
clarity).
Removed the option cvflag_grav = f. This was a lot of redundant code,
probably obsolete, and cvflag_grav was initialized to true with no
provision for changing it (as in LMDZ).
In cv30_unsat, downdraft_loop started at i = nl + 1, but for i >= nl,
i > inb, so num1 = 0.
Revision
186 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 21 15:36:26 2016 UTC
(8 years, 3 months ago)
by
guez
Original Path:
trunk/Sources/phylmd/CV30_routines/cv30_unsat.f
File length: 13265 byte(s)
Diff to
previous 185
,
to
selected 192
Removed variables nlm and nlp of module cv30_param_m. We do not
believe much in the benefit of these intermediary variables so we go
for clarity.
Removed variable noff of module cv30_param_m. Never used anywhere
else. Just set the value of nl explicitly in cv30_param.
Removed argument nd of cv30_param. Only called with nd = klev.
Replaced calls to zilch by array assignments. There was a strange
double call to zilch with the same arguments in cv30_mixing.
Removed procedure cv_flag. Just set the value of variable cvflag_grav
of module cvflag at declaration.
Revision
97 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 25 14:58:31 2014 UTC
(10 years, 2 months ago)
by
guez
Original Path:
trunk/phylmd/CV3_routines/cv3_unsat.f
File length: 11614 byte(s)
Diff to
previous 82
,
to
selected 192
Module pressure_var is now only used in gcm. Created local variables
pls and p3d in etat0, added argument p3d to regr_pr_o3.
In leapfrog, moved computation of p3d and exner function immediately
after integrd, for clarity (does not change the execution).
Removed unused arguments: ntra, tra1 and tra of cv3_compress; ntra,
tra and traent of cv3_mixing; ntra, ftra, ftra1 of cv3_uncompress;
ntra, tra, trap of cv3_unsat; ntra, tra, trap, traent, ftra of
cv3_yield; tra, tvp, pbase, bbase, dtvpdt1, dtvpdq1, dplcldt,
dplcldr, ntra of concvl; ndp1, ntra, tra1 of cv_driver
Removed argument d_tra and computation of d_tra in concvl. Removed
argument ftra1 and computation of ftra1 in cv_driver. ftra1 was just
set to 0 in cv_driver, associated to d_tra in concvl, and set again to
zero in concvl.
Revision
69 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 18 16:33:12 2013 UTC
(11 years, 4 months ago)
by
guez
Original Path:
trunk/libf/phylmd/CV3_routines/cv3_unsat.f90
File length: 9769 byte(s)
Diff to
previous 47
,
to
selected 192
Deleted files cvparam3.f90 and nuagecom.f90. Moved variables from
module cvparam3 to module cv3_param_m. Moved variables rad_chau1 and
rad_chau2 from module nuagecom to module conf_phys_m.
Read clesphys2_nml from conf_phys instead of gcm.
Removed argument iflag_con from several procedures. Access module
variable instead.
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.