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).
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.
CV3 to CV30 (following LMDZ) (continued).
CV3 to CV30 (following LMDZ).
Sources inside, compilation outside.
Renamed module cvparam to cv_param. Deleted procedure cv_param. Changed variables of module cv_param into parameters. In procedures cv_driver, cv_uncompress and cv3_uncompress, removed some arguments giving dimensions and used module variables klon and klev instead. In procedures gradiv2, laplacien_gam and laplacien, changed declarations of local variables because klevel is not always klev. Removed code for nudging surface pressure. Removed arguments pim and pjm of tau2alpha. Added assignment of false to variable first. Replaced real argument del of procedures foeew and FOEDE by logical argument.
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.
NaN to signalling NaN in gfortran_debug.mk. Removed unused procedures in getincom and getincom2. In procedure conf_interface, replaced call to getincom by new namelist. Moved procedure conf_interface into module interface_surf. Added variables sig1 and w01 to startphy.nc and restartphy.nc, for procedure cv_driver. Renamed (ema_)?work1 and (ema_)?work2 to sig1 and w01 in concvl and physiq. Deleted unused arguments of clmain, clqh and intersurf_hq, among which (y)?sollwdown. Following LMDZ, in physiq, read sollw instead of sollwdown from startphy.nc, write sollw instead of sollwdown to restartphy.nc. In procedure sw, initialized zfs[ud][pn]a[di], for runs where ok_ade and ok_aie are false. (Following LMDZ.) Added dimension klev to startphy.nc and restartphy.nc, and deleted dimension horizon_vertical. Made t_ancien and q_ancien two-dimensional NetCDF variables. Bug fix: in phyetat0, define ratqs, clwcon and rnebcon for vertical levels >=2. Bug fix: set mfg, p[de]n_[ud] to 0. when iflag_con >= 3. (Following LMDZ.)
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.
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 |