Parent Directory | Revision Log
Sticky Revision: |
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.
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).
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.
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.
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.
CV3 to CV30 (following LMDZ) (continued).
CV3 to CV30 (following LMDZ).
Replaced integer variable iflag_con of module clesphys2 by logical variable conv_emanuel.
Sources inside, compilation outside.
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.
Changed all ".f90" suffixes to ".f".
Moved everything out of libf.
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.
Split "thermcell.f" and "cv3_routines.f". Removed copies of files that are now in "L_util". Moved "mva9" and "diagetpq" to their own files. Unified variable names across procedures.
Corrected bug as directed by Jean-Yves Grandpeix. "nent" in "cv3_mixing" is an argument instead of a local variable.
-- Minor modification of input/output: Created procedure "read_logic". Variables of module "logic" are read by "read_logic" instead of "conf_gcm". Variable "offline" of module "conf_gcm" is read from namelist instead of "*.def". Deleted arguments "dtime", "co2_ppm_etat0", "solaire_etat0", "tabcntr0" and local variables "radpas", "tab_cntrl" of "phyetat0". "phyetat0" does not read "controle" in "startphy.nc" any longer. "phyetat0" now reads global attribute "itau_phy" from "startphy.nc". "phyredem" does not create variable "controle" in "startphy.nc" any longer. "phyredem" now writes global attribute "itau_phy" of "startphy.nc". Deleted argument "tabcntr0" of "printflag". Removed diagnostic messages written by "printflag" for comparison of the variable "controle" of "startphy.nc" and the variables read from "*.def" or namelist input. -- Removing unwanted functionality: Removed variable "lunout" from module "iniprint", replaced everywhere by standard output. Removed case "ocean == 'couple'" in "clmain", "interfsurf_hq" and "physiq". Removed procedure "interfoce_cpl". -- Should not change anything at run time: Automated creation of graphs in documentation. More documentation on input files. Converted Fortran files to free format: "phyredem.f90", "printflag.f90". Split module "clesphy" into "clesphys" and "clesphys2". Removed variables "conser", "leapf", "forward", "apphys", "apdiss" and "statcl" from module "logic". Added arguments "conser" to "advect", "leapf" to "integrd". Added local variables "forward", "leapf", "apphys", "conser", "apdiss" in "leapfrog". Added intent attributes. Deleted arguments "dtime" of "phyredem", "pdtime" of "flxdtdq", "sh" of "phytrac", "dt" of "yamada". Deleted local variables "dtime", "co2_ppm_etat0", "solaire_etat0", "length", "tabcntr0" in "physiq". Replaced all references to "dtime" by references to "pdtphys".
Initial import
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.
ViewVC Help | |
Powered by ViewVC 1.1.21 |