Parent Directory | Revision Log
Sticky Revision: |
Changed unit of variables lat_min_guide and lat_max_guide from module conf_guide_m from degrees to rad. Then we do not have to convert the whole array rlat from rad to degrees in SUBROUTINE tau2alpha. Removed some useless computations in inigeom. Removed module coefils. Moved variables sddv, unsddv, sddu, unsddu, eignfnu, eignfnv of module coefils to module inifgn_m. Downgraded variables coefilu, coefilu2, coefilv, coefilv2, modfrstu, modfrstv of module coefils to local variables of SUBROUTINE inifilr. Write and read a 3-dimensional variable Tsoil in restartphy.nc and startphy.nc instead of multiple variables for the different subs-urfaces and soil layers. This does not allow any longer to provide only the surface value in startphy.nc and spread it to other layers. Instead, if necessary, pre-process the file startphy.nc to spread the surface value.
Sources inside, compilation outside.
Extracted code from tau2alpha for first call into new procedure init_tau2alpha. dxdys, dxdyu, dxdyv are now local variables if guide computed by init_tau2alpha. This allows us to remove terrible argument type of tau2alpha: we just give to tau2alpha the right dxdy and rlat. In module conf_guide_m, changed default values of tau_min_*, because 0.02 is too small for the default daystep = 240, iperiod = 5. Changed default values of guide_[uv] to false. Moved variable ok_guide from conf_gcm_m to conf_guide_m, ok_guide is no longer an input parameter, it is computed from guide_*. Had then to move test on ok_guide and day_step from conf_gcm_m to conf_guide_m. Added checks on input nudging parameters in procedure conf_guide. Upgraded variable factt to module conf_guide_m in order to check nudging parameters. Bug fix: variable guide_q was not in namelist conf_guide_nml. Removed unused variables aire_min, aire_max of MODULE guide_m. Moved the call to conf_guide from guide to gcm. This was needed to define ok_guide before getting into guide (since ok_guide is no longer in conf_gcm_m). Moved test on grossismx and grossismy from tau2alpha to guide. It is clearer now that only tau_max is used for a regular grid, and we do not have to repeat this test in each call to tau2alpha. In guide, we only call writefield when alpha is not a constant.
Moved the call to read_serre out of conf_gcm so that it can be called only in the program ce0l, not in gcm. In gcm, variables of module serre are read from start file. Added reading of dzoomx, dzoomy, taux, tauy from start file, in dynetat0. Those variables were written by dynredem0 but not read. Removed possibility fxyhypb = false, because the geometric part of the program is such a mess. Could then remove variables transx, transy, alphax, alphay, pxo, pyo of module serre. Bug fix in tau2alpha: missing save attributes. The first call to tau2alpha needs to compute dxdyu and dxdyv regardless of value of argument type, because they will be needed for subsequent calls to tau2alpha with various values of argument type.
Removed 8 first arguments of fxyhyper, use variables of module serre instead. Moved reading of variables of module serre from procedure conf_gcm to new procedure read_serre. In guide, added conditions to avoid useless calls to tau2alpha and writefield. Bugfix: offline corresponds to alpha = 1. Open only one NetCDF file to read number of vertical levels. In tau2alpha, added conditions to avoid useless computations of dxdyu and dxdyv. gamma is not needed for a regular grid.
Moved a call to writefield from guide to tau2alpha. (dxdys does not change with itau.) So dxdys does not need to be a module variable any longer. Other variables of modules tau2alpha_m downgraded to local variables of tau2alpha, since they were not used elsewhere. Procedures write_field[13]d and formcoord were never called. Could then remove int2str. Inline writefield_gen into writefield. CreateNewField takes an integer array argument instead of 3 scalar integers. CreateNewField now creates a number of dimensions adapted to the rank of the output field, instead of always 4 dimensions. Changed names of variables of module write_field: fieldid to ncid, fieldindex to record, fieldvarid to varid. In writefield_gen, if index == -1, no need to call GetFieldIndex again, we know that the result is nbfield. In guide, moved calls to writefield for some variables inside if first_call: those variables do not change with time. Removed ztau: computed only to be output, does not seem meaningful. Removed writefield for aire: does not change with time and is already in "grilles_gcm.nc".
Imported writefield from LMDZ. Close at the end of gcm the files which were created by writefiled (not done in LMDZ). Removed procedures for the output of Grads files. Removed calls to dump2d. In guide, replaced calls to wrgrads by calls to writefield. In vlspltqs, removed redundant programming of saturation pressure. Call foeew from module FCTTRE instead. Bug fix in interpre: size of w exceeding size of correponding actual argument wg in advtrac. In leapfrog, call guide until the end of the run, instead of six hours before the end. Bug fix in readsulfate_preind: type of arguments.
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.
Removed unused file "condsurf.f" (only useful for ocean slab). day_step must be a multiple of 4 * iperiod if ok_guide. Changed type of variable online of module conf_guide_m from integer to logical. Value -1 was not useful, equivalent to not ok_guide. Removed argument masse of procedure guide. masse is kept consistent with ps throughout the run. masse need only be computed again just after ps has been modified. In prodecure guide, replaced use of remanent variable first by test on itau. Replaced test on variable "test" by test on integer values. In leapfrog, for the call to guide, replaced test on real values by test on integer values. Bug fix in tau2alpha: computation of dxdyv (following LMDZ revision 1040). In procedure wrgrads, replaced badly chosen argument name "if" by i_f.
In procedure conf_guide, replaced calls to getpar by reading a namelist. Removed file getparam.f, now unused. So getin of IOIPSL is now unused too. Removed files getincom.f, getincom2.f, cmpblank.f, find_sig.f, gensig.f and nocomma.f. Moved variables lat_min_guide and lat_max_guide from module tau2alpha_m to module conf_guide_m. Removed variables nivsig and nivsigs of module disvert_m. Instead, in initdynav and initfluxsto, directly wrote arithmetic sequence for verical axis, pending a better vertical axis. Removed variables nivsig and nivsigs of "(re)?.start.nc". In procedure exner_hyb, replaced p(:, :, 1) by equivalent ps.
Changed all ".f90" suffixes to ".f".
Moved everything out of libf.
Removed argument "pdteta" of "calfis", because it was not used. Created module "conf_guide_m", containing procedure "conf_guide". Moved module variables from "guide_m" to "conf_guide_m". In module "getparam", removed "ini_getparam" and "fin_getparam" from generic interface "getpar". Created module variables in "tau2alpha_m" to replace common "comdxdy".
"pi" comes from "nr_util". Removed subroutine "initialize" in module "comconst". Copied the content of "fxy_sin.h" into "fxysinus", instead of getting it from an "include" line. Removed file "fxy_sin.h". "ps" has rank 2 in "gcm" and "dynetat0". Assumed-shape for argument "q" of "integrd".
Inlined procedure "pression". Split "guide.f90" into "guide.f90" and "tau2alpha.f90". Split "read_reanalyse.f" into single-procedure files in directory "Read_reanalyse". Useless copy of variables in "iniphysiq". Directly define module variables in "gcm" and remove procedure "iniphysiq". Added "pressure-altitude" in "test_disvert".
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 |